diff options
| author | Rob Mensching <rob@firegiant.com> | 2019-05-08 13:35:21 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2019-05-08 13:44:59 -0700 |
| commit | ef6485ac4a03333701d343c1e3a52d25805c58f1 (patch) | |
| tree | 3093b1410e651a90c3776b42090bb4e62e98c514 /src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs | |
| parent | 6e7a3274a1710a734e5369d0a1703b9c9ac9345b (diff) | |
| download | wix-ef6485ac4a03333701d343c1e3a52d25805c58f1.tar.gz wix-ef6485ac4a03333701d343c1e3a52d25805c58f1.tar.bz2 wix-ef6485ac4a03333701d343c1e3a52d25805c58f1.zip | |
Add additional strongly typed tuples
Diffstat (limited to 'src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs')
| -rw-r--r-- | src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs | 506 |
1 files changed, 506 insertions, 0 deletions
diff --git a/src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs new file mode 100644 index 00000000..96fbe659 --- /dev/null +++ b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs | |||
| @@ -0,0 +1,506 @@ | |||
| 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
| 2 | |||
| 3 | namespace WixToolset.Data.WindowsInstaller | ||
| 4 | { | ||
| 5 | using System.Collections.Generic; | ||
| 6 | using WixToolset.Data.Tuples; | ||
| 7 | |||
| 8 | public static class WindowsInstallerStandard | ||
| 9 | { | ||
| 10 | private static readonly HashSet<string> standardActionNames = new HashSet<string> | ||
| 11 | { | ||
| 12 | "AllocateRegistrySpace", | ||
| 13 | "AppSearch", | ||
| 14 | "BindImage", | ||
| 15 | "CCPSearch", | ||
| 16 | "CostFinalize", | ||
| 17 | "CostInitialize", | ||
| 18 | "CreateFolders", | ||
| 19 | "CreateShortcuts", | ||
| 20 | "DeleteServices", | ||
| 21 | "DisableRollback", | ||
| 22 | "DuplicateFiles", | ||
| 23 | "ExecuteAction", | ||
| 24 | "FileCost", | ||
| 25 | "FindRelatedProducts", | ||
| 26 | "ForceReboot", | ||
| 27 | "InstallAdminPackage", | ||
| 28 | "InstallExecute", | ||
| 29 | "InstallExecuteAgain", | ||
| 30 | "InstallFiles", | ||
| 31 | "InstallFinalize", | ||
| 32 | "InstallInitialize", | ||
| 33 | "InstallODBC", | ||
| 34 | "InstallServices", | ||
| 35 | "InstallSFPCatalogFile", | ||
| 36 | "InstallValidate", | ||
| 37 | "IsolateComponents", | ||
| 38 | "LaunchConditions", | ||
| 39 | "MigrateFeatureStates", | ||
| 40 | "MoveFiles", | ||
| 41 | "MsiConfigureServices", | ||
| 42 | "MsiPublishAssemblies", | ||
| 43 | "MsiUnpublishAssemblies", | ||
| 44 | "PatchFiles", | ||
| 45 | "ProcessComponents", | ||
| 46 | "PublishComponents", | ||
| 47 | "PublishFeatures", | ||
| 48 | "PublishProduct", | ||
| 49 | "RegisterClassInfo", | ||
| 50 | "RegisterComPlus", | ||
| 51 | "RegisterExtensionInfo", | ||
| 52 | "RegisterFonts", | ||
| 53 | "RegisterMIMEInfo", | ||
| 54 | "RegisterProduct", | ||
| 55 | "RegisterProgIdInfo", | ||
| 56 | "RegisterTypeLibraries", | ||
| 57 | "RegisterUser", | ||
| 58 | "RemoveDuplicateFiles", | ||
| 59 | "RemoveEnvironmentStrings", | ||
| 60 | "RemoveExistingProducts", | ||
| 61 | "RemoveFiles", | ||
| 62 | "RemoveFolders", | ||
| 63 | "RemoveIniValues", | ||
| 64 | "RemoveODBC", | ||
| 65 | "RemoveRegistryValues", | ||
| 66 | "RemoveShortcuts", | ||
| 67 | "ResolveSource", | ||
| 68 | "RMCCPSearch", | ||
| 69 | "ScheduleReboot", | ||
| 70 | "SelfRegModules", | ||
| 71 | "SelfUnregModules", | ||
| 72 | "SetODBCFolders", | ||
| 73 | "StartServices", | ||
| 74 | "StopServices", | ||
| 75 | "UnpublishComponents", | ||
| 76 | "UnpublishFeatures", | ||
| 77 | "UnregisterClassInfo", | ||
| 78 | "UnregisterComPlus", | ||
| 79 | "UnregisterExtensionInfo", | ||
| 80 | "UnregisterFonts", | ||
| 81 | "UnregisterMIMEInfo", | ||
| 82 | "UnregisterProgIdInfo", | ||
| 83 | "UnregisterTypeLibraries", | ||
| 84 | "ValidateProductID", | ||
| 85 | "WriteEnvironmentStrings", | ||
| 86 | "WriteIniValues", | ||
| 87 | "WriteRegistryValues", | ||
| 88 | }; | ||
| 89 | |||
| 90 | private static readonly WixActionTuple[] standardActions = new[] | ||
| 91 | { | ||
| 92 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/InstallInitialize", AccessModifier.Public)) { Action="InstallInitialize", Sequence=1500, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 93 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/InstallInitialize", AccessModifier.Public)) { Action="InstallInitialize", Sequence=1500, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 94 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/InstallInitialize", AccessModifier.Public)) { Action="InstallInitialize", Sequence=1500, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 95 | |||
| 96 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/InstallExecute", AccessModifier.Public)) { Action="InstallExecute", Sequence=6500, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="NOT Installed" }, | ||
| 97 | |||
| 98 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/InstallExecuteAgain", AccessModifier.Public)) { Action="InstallExecuteAgain", Sequence=6550, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="NOT Installed" }, | ||
| 99 | |||
| 100 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/InstallFinalize", AccessModifier.Public)) { Action="InstallFinalize", Sequence=6600, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 101 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/InstallFinalize", AccessModifier.Public)) { Action="InstallFinalize", Sequence=6600, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 102 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/InstallFinalize", AccessModifier.Public)) { Action="InstallFinalize", Sequence=6600, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 103 | |||
| 104 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/InstallFiles", AccessModifier.Public)) { Action="InstallFiles", Sequence=4000, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 105 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/InstallFiles", AccessModifier.Public)) { Action="InstallFiles", Sequence=4000, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 106 | |||
| 107 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/InstallAdminPackage", AccessModifier.Public)) { Action="InstallAdminPackage", Sequence=3900, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 108 | |||
| 109 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/FileCost", AccessModifier.Public)) { Action="FileCost", Sequence=900, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 110 | new WixActionTuple(null, new Identifier("AdminUISequence/FileCost", AccessModifier.Public)) { Action="FileCost", Sequence=900, SequenceTable=SequenceTable.AdminUISequence }, | ||
| 111 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/FileCost", AccessModifier.Public)) { Action="FileCost", Sequence=900, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 112 | new WixActionTuple(null, new Identifier("InstallUISequence/FileCost", AccessModifier.Public)) { Action="FileCost", Sequence=900, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 113 | |||
| 114 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/CostInitialize", AccessModifier.Public)) { Action="CostInitialize", Sequence=800, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 115 | new WixActionTuple(null, new Identifier("AdminUISequence/CostInitialize", AccessModifier.Public)) { Action="CostInitialize", Sequence=800, SequenceTable=SequenceTable.AdminUISequence }, | ||
| 116 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/CostInitialize", AccessModifier.Public)) { Action="CostInitialize", Sequence=800, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 117 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/CostInitialize", AccessModifier.Public)) { Action="CostInitialize", Sequence=800, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 118 | new WixActionTuple(null, new Identifier("InstallUISequence/CostInitialize", AccessModifier.Public)) { Action="CostInitialize", Sequence=800, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 119 | |||
| 120 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/CostFinalize", AccessModifier.Public)) { Action="CostFinalize", Sequence=1000, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 121 | new WixActionTuple(null, new Identifier("AdminUISequence/CostFinalize", AccessModifier.Public)) { Action="CostFinalize", Sequence=1000, SequenceTable=SequenceTable.AdminUISequence }, | ||
| 122 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/CostFinalize", AccessModifier.Public)) { Action="CostFinalize", Sequence=1000, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 123 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/CostFinalize", AccessModifier.Public)) { Action="CostFinalize", Sequence=1000, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 124 | new WixActionTuple(null, new Identifier("InstallUISequence/CostFinalize", AccessModifier.Public)) { Action="CostFinalize", Sequence=1000, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 125 | |||
| 126 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/InstallValidate", AccessModifier.Public)) { Action="InstallValidate", Sequence=1400, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 127 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/InstallValidate", AccessModifier.Public)) { Action="InstallValidate", Sequence=1400, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 128 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/InstallValidate", AccessModifier.Public)) { Action="InstallValidate", Sequence=1400, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 129 | |||
| 130 | new WixActionTuple(null, new Identifier("AdminUISequence/ExecuteAction", AccessModifier.Public)) { Action="ExecuteAction", Sequence=1300, SequenceTable=SequenceTable.AdminUISequence }, | ||
| 131 | new WixActionTuple(null, new Identifier("InstallUISequence/ExecuteAction", AccessModifier.Public)) { Action="ExecuteAction", Sequence=1300, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 132 | |||
| 133 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/CreateShortcuts", AccessModifier.Public)) { Action="CreateShortcuts", Sequence=4500, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 134 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/CreateShortcuts", AccessModifier.Public)) { Action="CreateShortcuts", Sequence=4500, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 135 | |||
| 136 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/MsiPublishAssemblies", AccessModifier.Public)) { Action="MsiPublishAssemblies", Sequence=6250, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 137 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/MsiPublishAssemblies", AccessModifier.Public)) { Action="MsiPublishAssemblies", Sequence=6250, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 138 | |||
| 139 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/PublishComponents", AccessModifier.Public)) { Action="PublishComponents", Sequence=6200, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 140 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/PublishComponents", AccessModifier.Public)) { Action="PublishComponents", Sequence=6200, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 141 | |||
| 142 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/PublishFeatures", AccessModifier.Public)) { Action="PublishFeatures", Sequence=6300, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 143 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/PublishFeatures", AccessModifier.Public)) { Action="PublishFeatures", Sequence=6300, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 144 | |||
| 145 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/PublishProduct", AccessModifier.Public)) { Action="PublishProduct", Sequence=6400, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 146 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/PublishProduct", AccessModifier.Public)) { Action="PublishProduct", Sequence=6400, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 147 | |||
| 148 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/RegisterClassInfo", AccessModifier.Public)) { Action="RegisterClassInfo", Sequence=4600, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 149 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterClassInfo", AccessModifier.Public)) { Action="RegisterClassInfo", Sequence=4600, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 150 | |||
| 151 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/RegisterExtensionInfo", AccessModifier.Public)) { Action="RegisterExtensionInfo", Sequence=4700, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 152 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterExtensionInfo", AccessModifier.Public)) { Action="RegisterExtensionInfo", Sequence=4700, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 153 | |||
| 154 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/RegisterMIMEInfo", AccessModifier.Public)) { Action="RegisterMIMEInfo", Sequence=4900, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 155 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterMIMEInfo", AccessModifier.Public)) { Action="RegisterMIMEInfo", Sequence=4900, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 156 | |||
| 157 | new WixActionTuple(null, new Identifier("AdvtExecuteSequence/RegisterProgIdInfo", AccessModifier.Public)) { Action="RegisterProgIdInfo", Sequence=4800, SequenceTable=SequenceTable.AdvtExecuteSequence }, | ||
| 158 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterProgIdInfo", AccessModifier.Public)) { Action="RegisterProgIdInfo", Sequence=4800, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 159 | |||
| 160 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/AllocateRegistrySpace", AccessModifier.Public)) { Action="AllocateRegistrySpace", Sequence=1550, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 161 | |||
| 162 | new WixActionTuple(null, new Identifier("InstallUISequence/AppSearch", AccessModifier.Public)) { Action="AppSearch", Sequence=50, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 163 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/AppSearch", AccessModifier.Public)) { Action="AppSearch", Sequence=50, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 164 | |||
| 165 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/BindImage", AccessModifier.Public)) { Action="BindImage", Sequence=4300, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 166 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/CreateFolders", AccessModifier.Public)) { Action="CreateFolders", Sequence=3700, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 167 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/DuplicateFiles", AccessModifier.Public)) { Action="DuplicateFiles", Sequence=4210, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 168 | |||
| 169 | new WixActionTuple(null, new Identifier("InstallUISequence/FindRelatedProducts", AccessModifier.Public)) { Action="FindRelatedProducts", Sequence=25, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 170 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/FindRelatedProducts", AccessModifier.Public)) { Action="FindRelatedProducts", Sequence=25, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 171 | |||
| 172 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/InstallODBC", AccessModifier.Public)) { Action="InstallODBC", Sequence=5400, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 173 | |||
| 174 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/InstallServices", AccessModifier.Public)) { Action="InstallServices", Sequence=5800, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="VersionNT" }, | ||
| 175 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/MsiConfigureServices", AccessModifier.Public)) { Action="MsiConfigureServices", Sequence=5850, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="VersionNT>=600" }, | ||
| 176 | |||
| 177 | new WixActionTuple(null, new Identifier("InstallUISequence/IsolateComponents", AccessModifier.Public)) { Action="IsolateComponents", Sequence=950, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 178 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/IsolateComponents", AccessModifier.Public)) { Action="IsolateComponents", Sequence=950, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 179 | |||
| 180 | new WixActionTuple(null, new Identifier("AdminUISequence/LaunchConditions", AccessModifier.Public)) { Action="LaunchConditions", Sequence=100, SequenceTable=SequenceTable.AdminUISequence }, | ||
| 181 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/LaunchConditions", AccessModifier.Public)) { Action="LaunchConditions", Sequence=100, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 182 | new WixActionTuple(null, new Identifier("InstallUISequence/LaunchConditions", AccessModifier.Public)) { Action="LaunchConditions", Sequence=100, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 183 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/LaunchConditions", AccessModifier.Public)) { Action="LaunchConditions", Sequence=100, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 184 | |||
| 185 | new WixActionTuple(null, new Identifier("InstallUISequence/MigrateFeatureStates", AccessModifier.Public)) { Action="MigrateFeatureStates", Sequence=1200, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 186 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/MigrateFeatureStates", AccessModifier.Public)) { Action="MigrateFeatureStates", Sequence=1200, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 187 | |||
| 188 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/MoveFiles", AccessModifier.Public)) { Action="MoveFiles", Sequence=3800, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 189 | |||
| 190 | new WixActionTuple(null, new Identifier("AdminExecuteSequence/PatchFiles", AccessModifier.Public)) { Action="PatchFiles", Sequence=4090, SequenceTable=SequenceTable.AdminExecuteSequence }, | ||
| 191 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/PatchFiles", AccessModifier.Public)) { Action="PatchFiles", Sequence=4090, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 192 | |||
| 193 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/ProcessComponents", AccessModifier.Public)) { Action="ProcessComponents", Sequence=1600, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 194 | |||
| 195 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterComPlus", AccessModifier.Public)) { Action="RegisterComPlus", Sequence=5700, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 196 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterFonts", AccessModifier.Public)) { Action="RegisterFonts", Sequence=5300, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 197 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterProduct", AccessModifier.Public)) { Action="RegisterProduct", Sequence=6100, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 198 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterTypeLibraries", AccessModifier.Public)) { Action="RegisterTypeLibraries", Sequence=5500, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 199 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RegisterUser", AccessModifier.Public)) { Action="RegisterUser", Sequence=6000, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 200 | |||
| 201 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RemoveDuplicateFiles", AccessModifier.Public)) { Action="RemoveDuplicateFiles", Sequence=3400, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 202 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RemoveEnvironmentStrings", AccessModifier.Public)) { Action="RemoveEnvironmentStrings", Sequence=3300, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 203 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RemoveFiles", AccessModifier.Public)) { Action="RemoveFiles", Sequence=3500, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 204 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RemoveFolders", AccessModifier.Public)) { Action="RemoveFolders", Sequence=3600, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 205 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RemoveIniValues", AccessModifier.Public)) { Action="RemoveIniValues", Sequence=3100, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 206 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RemoveODBC", AccessModifier.Public)) { Action="RemoveODBC", Sequence=2400, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 207 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RemoveRegistryValues", AccessModifier.Public)) { Action="RemoveRegistryValues", Sequence=2600, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 208 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RemoveShortcuts", AccessModifier.Public)) { Action="RemoveShortcuts", Sequence=3200, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 209 | |||
| 210 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/SelfRegModules", AccessModifier.Public)) { Action="SelfRegModules", Sequence=5600, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 211 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/SelfUnregModules", AccessModifier.Public)) { Action="SelfUnregModules", Sequence=2200, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 212 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/SetODBCFolders", AccessModifier.Public)) { Action="SetODBCFolders", Sequence=1100, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 213 | |||
| 214 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/CCPSearch", AccessModifier.Public)) { Action="CCPSearch", Sequence=500, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="NOT Installed" }, | ||
| 215 | new WixActionTuple(null, new Identifier("InstallUISequence/CCPSearch", AccessModifier.Public)) { Action="CCPSearch", Sequence=500, SequenceTable=SequenceTable.InstallUISequence, Condition="NOT Installed" }, | ||
| 216 | |||
| 217 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/DeleteServices", AccessModifier.Public)) { Action="DeleteServices", Sequence=2000, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="VersionNT" }, | ||
| 218 | |||
| 219 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/RMCCPSearch", AccessModifier.Public)) { Action="RMCCPSearch", Sequence=600, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="NOT Installed" }, | ||
| 220 | new WixActionTuple(null, new Identifier("InstallUISequence/RMCCPSearch", AccessModifier.Public)) { Action="RMCCPSearch", Sequence=600, SequenceTable=SequenceTable.InstallUISequence, Condition="NOT Installed" }, | ||
| 221 | |||
| 222 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/StartServices", AccessModifier.Public)) { Action="StartServices", Sequence=5900, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="VersionNT" }, | ||
| 223 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/StopServices", AccessModifier.Public)) { Action="StopServices", Sequence=1900, SequenceTable=SequenceTable.InstallExecuteSequence, Condition="VersionNT" }, | ||
| 224 | |||
| 225 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/MsiUnpublishAssemblies", AccessModifier.Public)) { Action="MsiUnpublishAssemblies", Sequence=1750, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 226 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnpublishComponents", AccessModifier.Public)) { Action="UnpublishComponents", Sequence=1700, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 227 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnpublishFeatures", AccessModifier.Public)) { Action="UnpublishFeatures", Sequence=1800, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 228 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnregisterClassInfo", AccessModifier.Public)) { Action="UnregisterClassInfo", Sequence=2700, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 229 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnregisterComPlus", AccessModifier.Public)) { Action="UnregisterComPlus", Sequence=2100, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 230 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnregisterExtensionInfo", AccessModifier.Public)) { Action="UnregisterExtensionInfo", Sequence=2800, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 231 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnregisterFonts", AccessModifier.Public)) { Action="UnregisterFonts", Sequence=2500, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 232 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnregisterMIMEInfo", AccessModifier.Public)) { Action="UnregisterMIMEInfo", Sequence=3000, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 233 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnregisterProgIdInfo", AccessModifier.Public)) { Action="UnregisterProgIdInfo", Sequence=2900, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 234 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/UnregisterTypeLibraries", AccessModifier.Public)) { Action="UnregisterTypeLibraries", Sequence=2300, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 235 | |||
| 236 | new WixActionTuple(null, new Identifier("InstallUISequence/ValidateProductID", AccessModifier.Public)) { Action="ValidateProductID", Sequence=700, SequenceTable=SequenceTable.InstallUISequence }, | ||
| 237 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/ValidateProductID", AccessModifier.Public)) { Action="ValidateProductID", Sequence=700, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 238 | |||
| 239 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/WriteEnvironmentStrings", AccessModifier.Public)) { Action="WriteEnvironmentStrings", Sequence=5200, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 240 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/WriteIniValues", AccessModifier.Public)) { Action="WriteIniValues", Sequence=5100, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 241 | new WixActionTuple(null, new Identifier("InstallExecuteSequence/WriteRegistryValues", AccessModifier.Public)) { Action="WriteRegistryValues", Sequence=5000, SequenceTable=SequenceTable.InstallExecuteSequence }, | ||
| 242 | }; | ||
| 243 | |||
| 244 | private static readonly HashSet<string> standardDirectories = new HashSet<string> | ||
| 245 | { | ||
| 246 | "TARGETDIR", | ||
| 247 | "AdminToolsFolder", | ||
| 248 | "AppDataFolder", | ||
| 249 | "CommonAppDataFolder", | ||
| 250 | "CommonFilesFolder", | ||
| 251 | "DesktopFolder", | ||
| 252 | "FavoritesFolder", | ||
| 253 | "FontsFolder", | ||
| 254 | "LocalAppDataFolder", | ||
| 255 | "MyPicturesFolder", | ||
| 256 | "PersonalFolder", | ||
| 257 | "ProgramFilesFolder", | ||
| 258 | "ProgramMenuFolder", | ||
| 259 | "SendToFolder", | ||
| 260 | "StartMenuFolder", | ||
| 261 | "StartupFolder", | ||
| 262 | "System16Folder", | ||
| 263 | "SystemFolder", | ||
| 264 | "TempFolder", | ||
| 265 | "TemplateFolder", | ||
| 266 | "WindowsFolder", | ||
| 267 | "CommonFiles64Folder", | ||
| 268 | "ProgramFiles64Folder", | ||
| 269 | "System64Folder", | ||
| 270 | "NetHoodFolder", | ||
| 271 | "PrintHoodFolder", | ||
| 272 | "RecentFolder", | ||
| 273 | "WindowsVolume", | ||
| 274 | }; | ||
| 275 | |||
| 276 | /// <summary> | ||
| 277 | /// References: | ||
| 278 | /// Title: Property Reference [Windows Installer]: | ||
| 279 | /// URL: http://msdn.microsoft.com/library/en-us/msi/setup/property_reference.asp | ||
| 280 | /// </summary> | ||
| 281 | private static readonly HashSet<string> standardProperties = new HashSet<string> | ||
| 282 | { | ||
| 283 | "~", // REG_MULTI_SZ/NULL marker | ||
| 284 | "ACTION", | ||
| 285 | "ADDDEFAULT", | ||
| 286 | "ADDLOCAL", | ||
| 287 | "ADDDSOURCE", | ||
| 288 | "AdminProperties", | ||
| 289 | "AdminUser", | ||
| 290 | "ADVERTISE", | ||
| 291 | "AFTERREBOOT", | ||
| 292 | "AllowProductCodeMismatches", | ||
| 293 | "AllowProductVersionMajorMismatches", | ||
| 294 | "ALLUSERS", | ||
| 295 | "Alpha", | ||
| 296 | "ApiPatchingSymbolFlags", | ||
| 297 | "ARPAUTHORIZEDCDFPREFIX", | ||
| 298 | "ARPCOMMENTS", | ||
| 299 | "ARPCONTACT", | ||
| 300 | "ARPHELPLINK", | ||
| 301 | "ARPHELPTELEPHONE", | ||
| 302 | "ARPINSTALLLOCATION", | ||
| 303 | "ARPNOMODIFY", | ||
| 304 | "ARPNOREMOVE", | ||
| 305 | "ARPNOREPAIR", | ||
| 306 | "ARPPRODUCTIONICON", | ||
| 307 | "ARPREADME", | ||
| 308 | "ARPSIZE", | ||
| 309 | "ARPSYSTEMCOMPONENT", | ||
| 310 | "ARPULRINFOABOUT", | ||
| 311 | "ARPURLUPDATEINFO", | ||
| 312 | "AVAILABLEFREEREG", | ||
| 313 | "BorderSize", | ||
| 314 | "BorderTop", | ||
| 315 | "CaptionHeight", | ||
| 316 | "CCP_DRIVE", | ||
| 317 | "ColorBits", | ||
| 318 | "COMPADDLOCAL", | ||
| 319 | "COMPADDSOURCE", | ||
| 320 | "COMPANYNAME", | ||
| 321 | "ComputerName", | ||
| 322 | "CostingComplete", | ||
| 323 | "Date", | ||
| 324 | "DefaultUIFont", | ||
| 325 | "DISABLEADVTSHORTCUTS", | ||
| 326 | "DISABLEMEDIA", | ||
| 327 | "DISABLEROLLBACK", | ||
| 328 | "DiskPrompt", | ||
| 329 | "DontRemoveTempFolderWhenFinished", | ||
| 330 | "EnableUserControl", | ||
| 331 | "EXECUTEACTION", | ||
| 332 | "EXECUTEMODE", | ||
| 333 | "FASTOEM", | ||
| 334 | "FILEADDDEFAULT", | ||
| 335 | "FILEADDLOCAL", | ||
| 336 | "FILEADDSOURCE", | ||
| 337 | "IncludeWholeFilesOnly", | ||
| 338 | "Installed", | ||
| 339 | "INSTALLLEVEL", | ||
| 340 | "Intel", | ||
| 341 | "Intel64", | ||
| 342 | "IsAdminPackage", | ||
| 343 | "LeftUnit", | ||
| 344 | "LIMITUI", | ||
| 345 | "ListOfPatchGUIDsToReplace", | ||
| 346 | "ListOfTargetProductCode", | ||
| 347 | "LOGACTION", | ||
| 348 | "LogonUser", | ||
| 349 | "Manufacturer", | ||
| 350 | "MEDIAPACKAGEPATH", | ||
| 351 | "MediaSourceDir", | ||
| 352 | "MinimumRequiredMsiVersion", | ||
| 353 | "MsiAMD64", | ||
| 354 | "MSIAPRSETTINGSIDENTIFIER", | ||
| 355 | "MSICHECKCRCS", | ||
| 356 | "MSIDISABLERMRESTART", | ||
| 357 | "MSIENFORCEUPGRADECOMPONENTRULES", | ||
| 358 | "MSIFASTINSTALL", | ||
| 359 | "MsiFileToUseToCreatePatchTables", | ||
| 360 | "MsiHiddenProperties", | ||
| 361 | "MSIINSTALLPERUSER", | ||
| 362 | "MSIINSTANCEGUID", | ||
| 363 | "MsiLogFileLocation", | ||
| 364 | "MsiLogging", | ||
| 365 | "MsiNetAssemblySupport", | ||
| 366 | "MSINEWINSTANCE", | ||
| 367 | "MSINODISABLEMEDIA", | ||
| 368 | "MsiNTProductType", | ||
| 369 | "MsiNTSuiteBackOffice", | ||
| 370 | "MsiNTSuiteDataCenter", | ||
| 371 | "MsiNTSuiteEnterprise", | ||
| 372 | "MsiNTSuiteSmallBusiness", | ||
| 373 | "MsiNTSuiteSmallBusinessRestricted", | ||
| 374 | "MsiNTSuiteWebServer", | ||
| 375 | "MsiNTSuitePersonal", | ||
| 376 | "MsiPatchRemovalList", | ||
| 377 | "MSIPATCHREMOVE", | ||
| 378 | "MSIRESTARTMANAGERCONTROL", | ||
| 379 | "MsiRestartManagerSessionKey", | ||
| 380 | "MSIRMSHUTDOWN", | ||
| 381 | "MsiRunningElevated", | ||
| 382 | "MsiUIHideCancel", | ||
| 383 | "MsiUIProgressOnly", | ||
| 384 | "MsiUISourceResOnly", | ||
| 385 | "MsiSystemRebootPending", | ||
| 386 | "MsiWin32AssemblySupport", | ||
| 387 | "NOCOMPANYNAME", | ||
| 388 | "NOUSERNAME", | ||
| 389 | "OLEAdvtSupport", | ||
| 390 | "OptimizePatchSizeForLargeFiles", | ||
| 391 | "OriginalDatabase", | ||
| 392 | "OutOfDiskSpace", | ||
| 393 | "OutOfNoRbDiskSpace", | ||
| 394 | "ParentOriginalDatabase", | ||
| 395 | "ParentProductCode", | ||
| 396 | "PATCH", | ||
| 397 | "PATCH_CACHE_DIR", | ||
| 398 | "PATCH_CACHE_ENABLED", | ||
| 399 | "PatchGUID", | ||
| 400 | "PATCHNEWPACKAGECODE", | ||
| 401 | "PATCHNEWSUMMARYCOMMENTS", | ||
| 402 | "PATCHNEWSUMMARYSUBJECT", | ||
| 403 | "PatchOutputPath", | ||
| 404 | "PatchSourceList", | ||
| 405 | "PhysicalMemory", | ||
| 406 | "PIDKEY", | ||
| 407 | "PIDTemplate", | ||
| 408 | "Preselected", | ||
| 409 | "PRIMARYFOLDER", | ||
| 410 | "PrimaryVolumePath", | ||
| 411 | "PrimaryVolumeSpaceAvailable", | ||
| 412 | "PrimaryVolumeSpaceRemaining", | ||
| 413 | "PrimaryVolumeSpaceRequired", | ||
| 414 | "Privileged", | ||
| 415 | "ProductCode", | ||
| 416 | "ProductID", | ||
| 417 | "ProductLanguage", | ||
| 418 | "ProductName", | ||
| 419 | "ProductState", | ||
| 420 | "ProductVersion", | ||
| 421 | "PROMPTROLLBACKCOST", | ||
| 422 | "REBOOT", | ||
| 423 | "REBOOTPROMPT", | ||
| 424 | "RedirectedDllSupport", | ||
| 425 | "REINSTALL", | ||
| 426 | "REINSTALLMODE", | ||
| 427 | "RemoveAdminTS", | ||
| 428 | "REMOVE", | ||
| 429 | "ReplacedInUseFiles", | ||
| 430 | "RestrictedUserControl", | ||
| 431 | "RESUME", | ||
| 432 | "RollbackDisabled", | ||
| 433 | "ROOTDRIVE", | ||
| 434 | "ScreenX", | ||
| 435 | "ScreenY", | ||
| 436 | "SecureCustomProperties", | ||
| 437 | "ServicePackLevel", | ||
| 438 | "ServicePackLevelMinor", | ||
| 439 | "SEQUENCE", | ||
| 440 | "SharedWindows", | ||
| 441 | "ShellAdvtSupport", | ||
| 442 | "SHORTFILENAMES", | ||
| 443 | "SourceDir", | ||
| 444 | "SOURCELIST", | ||
| 445 | "SystemLanguageID", | ||
| 446 | "TARGETDIR", | ||
| 447 | "TerminalServer", | ||
| 448 | "TextHeight", | ||
| 449 | "Time", | ||
| 450 | "TRANSFORMS", | ||
| 451 | "TRANSFORMSATSOURCE", | ||
| 452 | "TRANSFORMSSECURE", | ||
| 453 | "TTCSupport", | ||
| 454 | "UILevel", | ||
| 455 | "UpdateStarted", | ||
| 456 | "UpgradeCode", | ||
| 457 | "UPGRADINGPRODUCTCODE", | ||
| 458 | "UserLanguageID", | ||
| 459 | "USERNAME", | ||
| 460 | "UserSID", | ||
| 461 | "Version9X", | ||
| 462 | "VersionDatabase", | ||
| 463 | "VersionMsi", | ||
| 464 | "VersionNT", | ||
| 465 | "VersionNT64", | ||
| 466 | "VirtualMemory", | ||
| 467 | "WindowsBuild", | ||
| 468 | "WindowsVolume", | ||
| 469 | }; | ||
| 470 | |||
| 471 | /// <summary> | ||
| 472 | /// Find out if an action is a standard action. | ||
| 473 | /// </summary> | ||
| 474 | /// <param name="actionName">Name of the action.</param> | ||
| 475 | /// <returns>true if the action is standard, false otherwise.</returns> | ||
| 476 | public static bool IsStandardAction(string actionName) | ||
| 477 | { | ||
| 478 | return standardActionNames.Contains(actionName); | ||
| 479 | } | ||
| 480 | |||
| 481 | /// <summary> | ||
| 482 | /// Array of standard actions. | ||
| 483 | /// </summary> | ||
| 484 | public static WixActionTuple[] StandardActions() => standardActions; | ||
| 485 | |||
| 486 | /// <summary> | ||
| 487 | /// Find out if a directory is a standard directory. | ||
| 488 | /// </summary> | ||
| 489 | /// <param name="directoryName">Name of the directory.</param> | ||
| 490 | /// <returns>true if the directory is standard, false otherwise.</returns> | ||
| 491 | public static bool IsStandardDirectory(string directoryName) | ||
| 492 | { | ||
| 493 | return standardDirectories.Contains(directoryName); | ||
| 494 | } | ||
| 495 | |||
| 496 | /// <summary> | ||
| 497 | /// Find out if a property is a standard property. | ||
| 498 | /// </summary> | ||
| 499 | /// <param name="propertyName">Name of the property.</param> | ||
| 500 | /// <returns>true if a property is standard, false otherwise.</returns> | ||
| 501 | public static bool IsStandardProperty(string propertyName) | ||
| 502 | { | ||
| 503 | return standardProperties.Contains(propertyName); | ||
| 504 | } | ||
| 505 | } | ||
| 506 | } | ||
