aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/VSCompiler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/VSCompiler.cs')
-rw-r--r--src/wixext/VSCompiler.cs68
1 files changed, 34 insertions, 34 deletions
diff --git a/src/wixext/VSCompiler.cs b/src/wixext/VSCompiler.cs
index b9390fea..d3afc2ab 100644
--- a/src/wixext/VSCompiler.cs
+++ b/src/wixext/VSCompiler.cs
@@ -7,10 +7,10 @@ namespace WixToolset.VisualStudio
7 using System.Globalization; 7 using System.Globalization;
8 using System.Xml.Linq; 8 using System.Xml.Linq;
9 using WixToolset.Data; 9 using WixToolset.Data;
10 using WixToolset.Data.Tuples; 10 using WixToolset.Data.Symbols;
11 using WixToolset.Data.WindowsInstaller; 11 using WixToolset.Data.WindowsInstaller;
12 using WixToolset.Extensibility; 12 using WixToolset.Extensibility;
13 using WixToolset.VisualStudio.Tuples; 13 using WixToolset.VisualStudio.Symbols;
14 14
15 /// <summary> 15 /// <summary>
16 /// The compiler for the WiX Toolset Visual Studio Extension. 16 /// The compiler for the WiX Toolset Visual Studio Extension.
@@ -93,7 +93,7 @@ namespace WixToolset.VisualStudio
93 { 93 {
94 case "Id": 94 case "Id":
95 id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); 95 id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib);
96 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, VSTupleDefinitions.HelpNamespace, id.Id); 96 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, VSSymbolDefinitions.HelpNamespace, id.Id);
97 break; 97 break;
98 default: 98 default:
99 this.ParseHelper.UnexpectedAttribute(element, attrib); 99 this.ParseHelper.UnexpectedAttribute(element, attrib);
@@ -212,7 +212,7 @@ namespace WixToolset.VisualStudio
212 212
213 if (!this.Messaging.EncounteredError) 213 if (!this.Messaging.EncounteredError)
214 { 214 {
215 section.AddTuple(new HelpNamespaceTuple(sourceLineNumbers, id) 215 section.AddSymbol(new HelpNamespaceSymbol(sourceLineNumbers, id)
216 { 216 {
217 NamespaceName = name, 217 NamespaceName = name,
218 CollectionFileRef = fileId, 218 CollectionFileRef = fileId,
@@ -249,11 +249,11 @@ namespace WixToolset.VisualStudio
249 break; 249 break;
250 case "AttributeIndex": 250 case "AttributeIndex":
251 hxr = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 251 hxr = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
252 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.File, hxr); 252 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.File, hxr);
253 break; 253 break;
254 case "Index": 254 case "Index":
255 hxi = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 255 hxi = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
256 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.File, hxi); 256 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.File, hxi);
257 break; 257 break;
258 case "Language": 258 case "Language":
259 language = this.ParseHelper.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue); 259 language = this.ParseHelper.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue);
@@ -263,11 +263,11 @@ namespace WixToolset.VisualStudio
263 break; 263 break;
264 case "SampleLocation": 264 case "SampleLocation":
265 samples = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 265 samples = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
266 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.File, samples); 266 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.File, samples);
267 break; 267 break;
268 case "Search": 268 case "Search":
269 hxq = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 269 hxq = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
270 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.File, hxq); 270 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.File, hxq);
271 break; 271 break;
272 case "SuppressCustomActions": 272 case "SuppressCustomActions":
273 suppressCAs = this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attrib); 273 suppressCAs = this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attrib);
@@ -303,7 +303,7 @@ namespace WixToolset.VisualStudio
303 303
304 if (!this.Messaging.EncounteredError) 304 if (!this.Messaging.EncounteredError)
305 { 305 {
306 section.AddTuple(new HelpFileTuple(sourceLineNumbers, id) 306 section.AddSymbol(new HelpFileSymbol(sourceLineNumbers, id)
307 { 307 {
308 HelpFileName = name, 308 HelpFileName = name,
309 LangID = language, 309 LangID = language,
@@ -334,7 +334,7 @@ namespace WixToolset.VisualStudio
334 { 334 {
335 case "Id": 335 case "Id":
336 id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); 336 id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib);
337 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, VSTupleDefinitions.HelpFile, id.Id); 337 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, VSSymbolDefinitions.HelpFile, id.Id);
338 break; 338 break;
339 default: 339 default:
340 this.ParseHelper.UnexpectedAttribute(element, attrib); 340 this.ParseHelper.UnexpectedAttribute(element, attrib);
@@ -356,7 +356,7 @@ namespace WixToolset.VisualStudio
356 356
357 if (!this.Messaging.EncounteredError) 357 if (!this.Messaging.EncounteredError)
358 { 358 {
359 section.AddTuple(new HelpFileToNamespaceTuple(sourceLineNumbers, id) 359 section.AddSymbol(new HelpFileToNamespaceSymbol(sourceLineNumbers, id)
360 { 360 {
361 HelpFileRef = id.Id, 361 HelpFileRef = id.Id,
362 HelpNamespaceRef = collectionId.Id, 362 HelpNamespaceRef = collectionId.Id,
@@ -415,7 +415,7 @@ namespace WixToolset.VisualStudio
415 415
416 if (!this.Messaging.EncounteredError) 416 if (!this.Messaging.EncounteredError)
417 { 417 {
418 section.AddTuple(new HelpFilterTuple(sourceLineNumbers, id) 418 section.AddSymbol(new HelpFilterSymbol(sourceLineNumbers, id)
419 { 419 {
420 Description = name, 420 Description = name,
421 QueryString = filterDefinition, 421 QueryString = filterDefinition,
@@ -441,7 +441,7 @@ namespace WixToolset.VisualStudio
441 { 441 {
442 case "Id": 442 case "Id":
443 id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); 443 id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib);
444 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, VSTupleDefinitions.HelpFilter, id.Id); 444 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, VSSymbolDefinitions.HelpFilter, id.Id);
445 break; 445 break;
446 default: 446 default:
447 this.ParseHelper.UnexpectedAttribute(element, attrib); 447 this.ParseHelper.UnexpectedAttribute(element, attrib);
@@ -463,7 +463,7 @@ namespace WixToolset.VisualStudio
463 463
464 if (!this.Messaging.EncounteredError) 464 if (!this.Messaging.EncounteredError)
465 { 465 {
466 section.AddTuple(new HelpFilterToNamespaceTuple(sourceLineNumbers, id) 466 section.AddSymbol(new HelpFilterToNamespaceSymbol(sourceLineNumbers, id)
467 { 467 {
468 HelpFilterRef = id.Id, 468 HelpFilterRef = id.Id,
469 HelpNamespaceRef = collectionId.Id, 469 HelpNamespaceRef = collectionId.Id,
@@ -533,7 +533,7 @@ namespace WixToolset.VisualStudio
533 533
534 if (!this.Messaging.EncounteredError) 534 if (!this.Messaging.EncounteredError)
535 { 535 {
536 section.AddTuple(new HelpPluginTuple(sourceLineNumbers, parentId) 536 section.AddSymbol(new HelpPluginSymbol(sourceLineNumbers, parentId)
537 { 537 {
538 HelpNamespaceRef = parentId.Id, 538 HelpNamespaceRef = parentId.Id,
539 ParentHelpNamespaceRef = namespaceParent, 539 ParentHelpNamespaceRef = namespaceParent,
@@ -550,7 +550,7 @@ namespace WixToolset.VisualStudio
550 this.ParseHelper.CreateComplexReference(section, sourceLineNumbers, ComplexReferenceParentType.Feature, feature, String.Empty, 550 this.ParseHelper.CreateComplexReference(section, sourceLineNumbers, ComplexReferenceParentType.Feature, feature, String.Empty,
551 ComplexReferenceChildType.ComponentGroup, "Help2_VS2005_Namespace_Components", false); 551 ComplexReferenceChildType.ComponentGroup, "Help2_VS2005_Namespace_Components", false);
552 // Reference CustomAction since nothing will happen without it 552 // Reference CustomAction since nothing will happen without it
553 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "CA_HxMerge_VSIPCC_VSCC"); 553 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, "CA_HxMerge_VSIPCC_VSCC");
554 } 554 }
555 } 555 }
556 else if (pluginVS08) 556 else if (pluginVS08)
@@ -561,13 +561,13 @@ namespace WixToolset.VisualStudio
561 this.ParseHelper.CreateComplexReference(section, sourceLineNumbers, ComplexReferenceParentType.Feature, feature, String.Empty, 561 this.ParseHelper.CreateComplexReference(section, sourceLineNumbers, ComplexReferenceParentType.Feature, feature, String.Empty,
562 ComplexReferenceChildType.ComponentGroup, "Help2_VS2008_Namespace_Components", false); 562 ComplexReferenceChildType.ComponentGroup, "Help2_VS2008_Namespace_Components", false);
563 // Reference CustomAction since nothing will happen without it 563 // Reference CustomAction since nothing will happen without it
564 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "CA_ScheduleExtHelpPlugin_VSCC_VSIPCC"); 564 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, "CA_ScheduleExtHelpPlugin_VSCC_VSIPCC");
565 } 565 }
566 } 566 }
567 else 567 else
568 { 568 {
569 // Reference the parent namespace to enforce the foreign key relationship 569 // Reference the parent namespace to enforce the foreign key relationship
570 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, VSTupleDefinitions.HelpNamespace, namespaceParent); 570 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, VSSymbolDefinitions.HelpNamespace, namespaceParent);
571 } 571 }
572 } 572 }
573 } 573 }
@@ -679,10 +679,10 @@ namespace WixToolset.VisualStudio
679 if (!this.Messaging.EncounteredError) 679 if (!this.Messaging.EncounteredError)
680 { 680 {
681 // Ensure there is a reference to the AppSearch Property that will find the VsixInstaller.exe. 681 // Ensure there is a reference to the AppSearch Property that will find the VsixInstaller.exe.
682 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.Property, propertyId); 682 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.Property, propertyId);
683 683
684 // Ensure there is a reference to the package file (even if we are a child under it). 684 // Ensure there is a reference to the package file (even if we are a child under it).
685 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.File, fileId); 685 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.File, fileId);
686 686
687 var cmdlinePrefix = "/q "; 687 var cmdlinePrefix = "/q ";
688 688
@@ -699,12 +699,12 @@ namespace WixToolset.VisualStudio
699 var installCmdLinePerMachine = String.Concat(installCmdLinePerUser, " /admin"); 699 var installCmdLinePerMachine = String.Concat(installCmdLinePerUser, " /admin");
700 var installConditionPerUser = String.Format("NOT ALLUSERS AND ${0}=3", componentId); // only execute if the Component being installed. 700 var installConditionPerUser = String.Format("NOT ALLUSERS AND ${0}=3", componentId); // only execute if the Component being installed.
701 var installConditionPerMachine = String.Format("ALLUSERS AND ${0}=3", componentId); // only execute if the Component being installed. 701 var installConditionPerMachine = String.Format("ALLUSERS AND ${0}=3", componentId); // only execute if the Component being installed.
702 var installPerUserCA = new CustomActionTuple(sourceLineNumbers, installNamePerUser) 702 var installPerUserCA = new CustomActionSymbol(sourceLineNumbers, installNamePerUser)
703 { 703 {
704 ExecutionType = CustomActionExecutionType.Deferred, 704 ExecutionType = CustomActionExecutionType.Deferred,
705 Impersonate = true, 705 Impersonate = true,
706 }; 706 };
707 var installPerMachineCA = new CustomActionTuple(sourceLineNumbers, installNamePerMachine) 707 var installPerMachineCA = new CustomActionSymbol(sourceLineNumbers, installNamePerMachine)
708 { 708 {
709 ExecutionType = CustomActionExecutionType.Deferred, 709 ExecutionType = CustomActionExecutionType.Deferred,
710 Impersonate = false, 710 Impersonate = false,
@@ -724,13 +724,13 @@ namespace WixToolset.VisualStudio
724 var rollbackCmdLinePerMachine = String.Concat(rollbackCmdLinePerUser, " /admin"); 724 var rollbackCmdLinePerMachine = String.Concat(rollbackCmdLinePerUser, " /admin");
725 var rollbackConditionPerUser = String.Format("NOT ALLUSERS AND NOT Installed AND ${0}=2 AND ?{0}>2", componentId); // NOT Installed && Component being installed but not installed already. 725 var rollbackConditionPerUser = String.Format("NOT ALLUSERS AND NOT Installed AND ${0}=2 AND ?{0}>2", componentId); // NOT Installed && Component being installed but not installed already.
726 var rollbackConditionPerMachine = String.Format("ALLUSERS AND NOT Installed AND ${0}=2 AND ?{0}>2", componentId); // NOT Installed && Component being installed but not installed already. 726 var rollbackConditionPerMachine = String.Format("ALLUSERS AND NOT Installed AND ${0}=2 AND ?{0}>2", componentId); // NOT Installed && Component being installed but not installed already.
727 var rollbackPerUserCA = new CustomActionTuple(sourceLineNumbers, rollbackNamePerUser) 727 var rollbackPerUserCA = new CustomActionSymbol(sourceLineNumbers, rollbackNamePerUser)
728 { 728 {
729 ExecutionType = CustomActionExecutionType.Rollback, 729 ExecutionType = CustomActionExecutionType.Rollback,
730 IgnoreResult = true, 730 IgnoreResult = true,
731 Impersonate = true, 731 Impersonate = true,
732 }; 732 };
733 var rollbackPerMachineCA = new CustomActionTuple(sourceLineNumbers, rollbackNamePerMachine) 733 var rollbackPerMachineCA = new CustomActionSymbol(sourceLineNumbers, rollbackNamePerMachine)
734 { 734 {
735 ExecutionType = CustomActionExecutionType.Rollback, 735 ExecutionType = CustomActionExecutionType.Rollback,
736 IgnoreResult = true, 736 IgnoreResult = true,
@@ -755,13 +755,13 @@ namespace WixToolset.VisualStudio
755 var uninstallCmdLinePerMachine = String.Concat(uninstallCmdLinePerUser, " /admin"); 755 var uninstallCmdLinePerMachine = String.Concat(uninstallCmdLinePerUser, " /admin");
756 var uninstallConditionPerUser = String.Format("NOT ALLUSERS AND ${0}=2 AND ?{0}>2", componentId); // Only execute if component is being uninstalled. 756 var uninstallConditionPerUser = String.Format("NOT ALLUSERS AND ${0}=2 AND ?{0}>2", componentId); // Only execute if component is being uninstalled.
757 var uninstallConditionPerMachine = String.Format("ALLUSERS AND ${0}=2 AND ?{0}>2", componentId); // Only execute if component is being uninstalled. 757 var uninstallConditionPerMachine = String.Format("ALLUSERS AND ${0}=2 AND ?{0}>2", componentId); // Only execute if component is being uninstalled.
758 var uninstallPerUserCA = new CustomActionTuple(sourceLineNumbers, uninstallNamePerUser) 758 var uninstallPerUserCA = new CustomActionSymbol(sourceLineNumbers, uninstallNamePerUser)
759 { 759 {
760 ExecutionType = CustomActionExecutionType.Deferred, 760 ExecutionType = CustomActionExecutionType.Deferred,
761 IgnoreResult = true, 761 IgnoreResult = true,
762 Impersonate = true, 762 Impersonate = true,
763 }; 763 };
764 var uninstallPerMachineCA = new CustomActionTuple(sourceLineNumbers, uninstallNamePerMachine) 764 var uninstallPerMachineCA = new CustomActionSymbol(sourceLineNumbers, uninstallNamePerMachine)
765 { 765 {
766 ExecutionType = CustomActionExecutionType.Deferred, 766 ExecutionType = CustomActionExecutionType.Deferred,
767 IgnoreResult = true, 767 IgnoreResult = true,
@@ -774,7 +774,7 @@ namespace WixToolset.VisualStudio
774 } 774 }
775 } 775 }
776 776
777 private void SchedulePropertyExeAction(IntermediateSection section, SourceLineNumber sourceLineNumbers, Identifier name, string source, string cmdline, CustomActionTuple caTemplate, string condition, string beforeAction, string afterAction) 777 private void SchedulePropertyExeAction(IntermediateSection section, SourceLineNumber sourceLineNumbers, Identifier name, string source, string cmdline, CustomActionSymbol caTemplate, string condition, string beforeAction, string afterAction)
778 { 778 {
779 const SequenceTable sequence = SequenceTable.InstallExecuteSequence; 779 const SequenceTable sequence = SequenceTable.InstallExecuteSequence;
780 780
@@ -782,9 +782,9 @@ namespace WixToolset.VisualStudio
782 caTemplate.Source = source; 782 caTemplate.Source = source;
783 caTemplate.TargetType = CustomActionTargetType.Exe; 783 caTemplate.TargetType = CustomActionTargetType.Exe;
784 caTemplate.Target = cmdline; 784 caTemplate.Target = cmdline;
785 section.AddTuple(caTemplate); 785 section.AddSymbol(caTemplate);
786 786
787 section.AddTuple(new WixActionTuple(sourceLineNumbers, new Identifier(name.Access, sequence, name.Id)) 787 section.AddSymbol(new WixActionSymbol(sourceLineNumbers, new Identifier(name.Access, sequence, name.Id))
788 { 788 {
789 SequenceTable = SequenceTable.InstallExecuteSequence, 789 SequenceTable = SequenceTable.InstallExecuteSequence,
790 Action = name.Id, 790 Action = name.Id,
@@ -799,11 +799,11 @@ namespace WixToolset.VisualStudio
799 { 799 {
800 if (WindowsInstallerStandard.IsStandardAction(beforeAction)) 800 if (WindowsInstallerStandard.IsStandardAction(beforeAction))
801 { 801 {
802 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.WixAction, sequence.ToString(), beforeAction); 802 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixAction, sequence.ToString(), beforeAction);
803 } 803 }
804 else 804 else
805 { 805 {
806 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, beforeAction); 806 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, beforeAction);
807 } 807 }
808 } 808 }
809 809
@@ -811,18 +811,18 @@ namespace WixToolset.VisualStudio
811 { 811 {
812 if (WindowsInstallerStandard.IsStandardAction(afterAction)) 812 if (WindowsInstallerStandard.IsStandardAction(afterAction))
813 { 813 {
814 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.WixAction, sequence.ToString(), afterAction); 814 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixAction, sequence.ToString(), afterAction);
815 } 815 }
816 else 816 else
817 { 817 {
818 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, afterAction); 818 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, afterAction);
819 } 819 }
820 } 820 }
821 } 821 }
822 822
823 private void AddReferenceToRegisterMicrosoftHelp(IntermediateSection section, SourceLineNumber sourceLineNumbers) 823 private void AddReferenceToRegisterMicrosoftHelp(IntermediateSection section, SourceLineNumber sourceLineNumbers)
824 { 824 {
825 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "CA_RegisterMicrosoftHelp.3643236F_FC70_11D3_A536_0090278A1BB8"); 825 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, "CA_RegisterMicrosoftHelp.3643236F_FC70_11D3_A536_0090278A1BB8");
826 } 826 }
827 } 827 }
828} 828}