From 6f74d6d07c58369f9b5a1801a8fd9ea963f0bf97 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Mon, 7 Nov 2022 13:29:19 -0800 Subject: [PATCH] Remove out of date WiX v4 content --- Votive.sln | 69 - src/Schemas/v4/WixLogo.png | Bin 6238 -> 0 bytes src/Schemas/v4/schemas/bal4.xsd | 266 - src/Schemas/v4/schemas/cfg4.xsd | 64 - src/Schemas/v4/schemas/complus4.xsd | 944 -- src/Schemas/v4/schemas/dependency4.xsd | 226 - src/Schemas/v4/schemas/difxapp4.xsd | 108 - src/Schemas/v4/schemas/firewall4.xsd | 211 - src/Schemas/v4/schemas/gaming4.xsd | 127 - src/Schemas/v4/schemas/http4.xsd | 148 - src/Schemas/v4/schemas/iis4.xsd | 1104 -- src/Schemas/v4/schemas/lux4.xsd | 221 - src/Schemas/v4/schemas/msmq4.xsd | 121 - src/Schemas/v4/schemas/netfx4.xsd | 235 - src/Schemas/v4/schemas/ps4.xsd | 191 - src/Schemas/v4/schemas/sql4.xsd | 342 - src/Schemas/v4/schemas/tag4.xsd | 143 - src/Schemas/v4/schemas/thmutil4.xsd | 1188 -- src/Schemas/v4/schemas/util4.xsd | 1676 -- src/Schemas/v4/schemas/vs4.xsd | 292 - src/Schemas/v4/schemas/wix4.xsd | 13036 ---------------- src/Schemas/v4/schemas/wixloc4.xsd | 134 - src/Schemas/v4/source.extension.vsixmanifest | 17 - src/Schemas/v4/v4schemas.csproj | 165 - .../v4/Items/BlankFile/BlankFile.ico | Bin 14278 -> 0 bytes .../v4/Items/BlankFile/BlankFile.vstemplate | 17 - .../v4/Items/BlankFile/BlankFile.wxs | 6 - .../v4/Items/IncludeFile/IncludeFile.ico | Bin 98571 -> 0 bytes .../Items/IncludeFile/IncludeFile.vstemplate | 17 - .../v4/Items/IncludeFile/IncludeFile.wxi | 4 - .../LocalizationFile/LocalizationFile.ico | Bin 105449 -> 0 bytes .../LocalizationFile.vstemplate | 17 - .../LocalizationFile/LocalizationFile.wxl | 4 - src/Templates/v4/Items/TextFile/TextFile.ico | Bin 13206 -> 0 bytes src/Templates/v4/Items/TextFile/TextFile.txt | 1 - .../v4/Items/TextFile/TextFile.vstemplate | 14 - .../Projects/CustomActionCS/AssemblyInfo.cs | 35 - .../CustomActionCS/CustomAction.config | 32 - .../Projects/CustomActionCS/CustomAction.cs | 19 - .../CustomActionCS/CustomAction.csproj | 58 - .../CustomActionCS/CustomActionCS.vstemplate | 23 - .../Projects/CustomActionVB/AssemblyInfo.vb | 35 - .../CustomActionVB/CustomAction.config | 32 - .../Projects/CustomActionVB/CustomAction.vb | 10 - .../CustomActionVB/CustomAction.vbproj | 66 - .../CustomActionVB/CustomActionVB.vstemplate | 23 - .../WixBundleProject/Bundle.Generated.wxs | 7 - .../v4/Projects/WixBundleProject/Bundle.wxs | 11 - .../WixBundleProject/BundleProject.wixproj | 43 - .../Projects/WixBundleProject/WixBundle.ico | Bin 10134 -> 0 bytes .../WixBundleProject/WixBundle.vstemplate | 25 - .../v4/Projects/WixLibrary/Library.wxs | 6 - .../v4/Projects/WixLibrary/WixLibrary.ico | Bin 10134 -> 0 bytes .../Projects/WixLibrary/WixLibrary.vstemplate | 23 - .../Projects/WixLibrary/setuplibrary.wixproj | 37 - .../WixMergeModule/MergeModule.wixproj | 37 - .../Projects/WixMergeModule/MergeModule.wxs | 17 - .../WixMergeModule/WixMergeModule.ico | Bin 10134 -> 0 bytes .../WixMergeModule/WixMergeModule.vstemplate | 24 - .../v4/Projects/WixProject/Product.wxs | 30 - .../Projects/WixProject/SetupProject.wixproj | 37 - .../v4/Projects/WixProject/WixProject.ico | Bin 10134 -> 0 bytes .../Projects/WixProject/WixProject.vstemplate | 27 - src/Templates/v4/Projects/customaction.config | 32 - src/Templates/v4/v4templates.csproj | 53 - src/Votive2017/Votive2017.csproj | 7 - src/Votive2017/redirects/v4/wix.ca.targets | 12 - .../redirects/v4/wix.nativeca.targets | 12 - src/Votive2017/redirects/v4/wix.targets | 12 - src/Votive2017/schemas/bal4.xsd | 266 - src/Votive2017/schemas/cfg4.xsd | 64 - src/Votive2017/schemas/complus4.xsd | 944 -- src/Votive2017/schemas/dependency4.xsd | 226 - src/Votive2017/schemas/difxapp4.xsd | 108 - src/Votive2017/schemas/firewall4.xsd | 211 - src/Votive2017/schemas/gaming4.xsd | 127 - src/Votive2017/schemas/http4.xsd | 148 - src/Votive2017/schemas/iis4.xsd | 1104 -- src/Votive2017/schemas/lux4.xsd | 221 - src/Votive2017/schemas/msmq4.xsd | 121 - src/Votive2017/schemas/netfx4.xsd | 235 - src/Votive2017/schemas/ps4.xsd | 191 - src/Votive2017/schemas/sql4.xsd | 342 - src/Votive2017/schemas/tag4.xsd | 143 - src/Votive2017/schemas/thmutil4.xsd | 1188 -- src/Votive2017/schemas/util4.xsd | 1676 -- src/Votive2017/schemas/vs4.xsd | 292 - src/Votive2017/schemas/wix4.xsd | 13036 ---------------- src/Votive2017/schemas/wixloc4.xsd | 134 - src/Votive2017/source.extension.vsixmanifest | 1 - src/Votive2019/Votive2019.csproj | 7 - src/Votive2019/source.extension.vsixmanifest | 1 - src/Votive2022/Votive2022.csproj | 7 - src/Votive2022/source.extension.vsixmanifest | 1 - 94 files changed, 42687 deletions(-) delete mode 100644 src/Schemas/v4/WixLogo.png delete mode 100644 src/Schemas/v4/schemas/bal4.xsd delete mode 100644 src/Schemas/v4/schemas/cfg4.xsd delete mode 100644 src/Schemas/v4/schemas/complus4.xsd delete mode 100644 src/Schemas/v4/schemas/dependency4.xsd delete mode 100644 src/Schemas/v4/schemas/difxapp4.xsd delete mode 100644 src/Schemas/v4/schemas/firewall4.xsd delete mode 100644 src/Schemas/v4/schemas/gaming4.xsd delete mode 100644 src/Schemas/v4/schemas/http4.xsd delete mode 100644 src/Schemas/v4/schemas/iis4.xsd delete mode 100644 src/Schemas/v4/schemas/lux4.xsd delete mode 100644 src/Schemas/v4/schemas/msmq4.xsd delete mode 100644 src/Schemas/v4/schemas/netfx4.xsd delete mode 100644 src/Schemas/v4/schemas/ps4.xsd delete mode 100644 src/Schemas/v4/schemas/sql4.xsd delete mode 100644 src/Schemas/v4/schemas/tag4.xsd delete mode 100644 src/Schemas/v4/schemas/thmutil4.xsd delete mode 100644 src/Schemas/v4/schemas/util4.xsd delete mode 100644 src/Schemas/v4/schemas/vs4.xsd delete mode 100644 src/Schemas/v4/schemas/wix4.xsd delete mode 100644 src/Schemas/v4/schemas/wixloc4.xsd delete mode 100644 src/Schemas/v4/source.extension.vsixmanifest delete mode 100644 src/Schemas/v4/v4schemas.csproj delete mode 100644 src/Templates/v4/Items/BlankFile/BlankFile.ico delete mode 100644 src/Templates/v4/Items/BlankFile/BlankFile.vstemplate delete mode 100644 src/Templates/v4/Items/BlankFile/BlankFile.wxs delete mode 100644 src/Templates/v4/Items/IncludeFile/IncludeFile.ico delete mode 100644 src/Templates/v4/Items/IncludeFile/IncludeFile.vstemplate delete mode 100644 src/Templates/v4/Items/IncludeFile/IncludeFile.wxi delete mode 100644 src/Templates/v4/Items/LocalizationFile/LocalizationFile.ico delete mode 100644 src/Templates/v4/Items/LocalizationFile/LocalizationFile.vstemplate delete mode 100644 src/Templates/v4/Items/LocalizationFile/LocalizationFile.wxl delete mode 100644 src/Templates/v4/Items/TextFile/TextFile.ico delete mode 100644 src/Templates/v4/Items/TextFile/TextFile.txt delete mode 100644 src/Templates/v4/Items/TextFile/TextFile.vstemplate delete mode 100644 src/Templates/v4/Projects/CustomActionCS/AssemblyInfo.cs delete mode 100644 src/Templates/v4/Projects/CustomActionCS/CustomAction.config delete mode 100644 src/Templates/v4/Projects/CustomActionCS/CustomAction.cs delete mode 100644 src/Templates/v4/Projects/CustomActionCS/CustomAction.csproj delete mode 100644 src/Templates/v4/Projects/CustomActionCS/CustomActionCS.vstemplate delete mode 100644 src/Templates/v4/Projects/CustomActionVB/AssemblyInfo.vb delete mode 100644 src/Templates/v4/Projects/CustomActionVB/CustomAction.config delete mode 100644 src/Templates/v4/Projects/CustomActionVB/CustomAction.vb delete mode 100644 src/Templates/v4/Projects/CustomActionVB/CustomAction.vbproj delete mode 100644 src/Templates/v4/Projects/CustomActionVB/CustomActionVB.vstemplate delete mode 100644 src/Templates/v4/Projects/WixBundleProject/Bundle.Generated.wxs delete mode 100644 src/Templates/v4/Projects/WixBundleProject/Bundle.wxs delete mode 100644 src/Templates/v4/Projects/WixBundleProject/BundleProject.wixproj delete mode 100644 src/Templates/v4/Projects/WixBundleProject/WixBundle.ico delete mode 100644 src/Templates/v4/Projects/WixBundleProject/WixBundle.vstemplate delete mode 100644 src/Templates/v4/Projects/WixLibrary/Library.wxs delete mode 100644 src/Templates/v4/Projects/WixLibrary/WixLibrary.ico delete mode 100644 src/Templates/v4/Projects/WixLibrary/WixLibrary.vstemplate delete mode 100644 src/Templates/v4/Projects/WixLibrary/setuplibrary.wixproj delete mode 100644 src/Templates/v4/Projects/WixMergeModule/MergeModule.wixproj delete mode 100644 src/Templates/v4/Projects/WixMergeModule/MergeModule.wxs delete mode 100644 src/Templates/v4/Projects/WixMergeModule/WixMergeModule.ico delete mode 100644 src/Templates/v4/Projects/WixMergeModule/WixMergeModule.vstemplate delete mode 100644 src/Templates/v4/Projects/WixProject/Product.wxs delete mode 100644 src/Templates/v4/Projects/WixProject/SetupProject.wixproj delete mode 100644 src/Templates/v4/Projects/WixProject/WixProject.ico delete mode 100644 src/Templates/v4/Projects/WixProject/WixProject.vstemplate delete mode 100644 src/Templates/v4/Projects/customaction.config delete mode 100644 src/Templates/v4/v4templates.csproj delete mode 100644 src/Votive2017/redirects/v4/wix.ca.targets delete mode 100644 src/Votive2017/redirects/v4/wix.nativeca.targets delete mode 100644 src/Votive2017/redirects/v4/wix.targets delete mode 100644 src/Votive2017/schemas/bal4.xsd delete mode 100644 src/Votive2017/schemas/cfg4.xsd delete mode 100644 src/Votive2017/schemas/complus4.xsd delete mode 100644 src/Votive2017/schemas/dependency4.xsd delete mode 100644 src/Votive2017/schemas/difxapp4.xsd delete mode 100644 src/Votive2017/schemas/firewall4.xsd delete mode 100644 src/Votive2017/schemas/gaming4.xsd delete mode 100644 src/Votive2017/schemas/http4.xsd delete mode 100644 src/Votive2017/schemas/iis4.xsd delete mode 100644 src/Votive2017/schemas/lux4.xsd delete mode 100644 src/Votive2017/schemas/msmq4.xsd delete mode 100644 src/Votive2017/schemas/netfx4.xsd delete mode 100644 src/Votive2017/schemas/ps4.xsd delete mode 100644 src/Votive2017/schemas/sql4.xsd delete mode 100644 src/Votive2017/schemas/tag4.xsd delete mode 100644 src/Votive2017/schemas/thmutil4.xsd delete mode 100644 src/Votive2017/schemas/util4.xsd delete mode 100644 src/Votive2017/schemas/vs4.xsd delete mode 100644 src/Votive2017/schemas/wix4.xsd delete mode 100644 src/Votive2017/schemas/wixloc4.xsd diff --git a/Votive.sln b/Votive.sln index a94fce5..ca313ba 100644 --- a/Votive.sln +++ b/Votive.sln @@ -5,12 +5,8 @@ VisualStudioVersion = 16.0.31702.278 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "v3schemas", "src\Schemas\v3\v3schemas.csproj", "{D0DD12D1-3455-43A9-9173-E465DA045897}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "v4schemas", "src\Schemas\v4\v4schemas.csproj", "{587D2A86-66CF-46B4-98C8-C01E20F1076D}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "v3templates", "src\Templates\v3\v3templates.csproj", "{3C09CD7D-CA0F-4BB0-A1BE-0622645E93CB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "v4templates", "src\Templates\v4\v4templates.csproj", "{BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "votive", "src\votive\votive.csproj", "{24A98296-9D58-42C1-95C0-CC36736409E2}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Votive2010", "src\Votive2010\Votive2010.csproj", "{3FFC5AB2-97CC-48C1-A28B-CC7F1CEEE92A}" @@ -36,11 +32,6 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Votive2022", "src\Votive2022\Votive2022.csproj", "{29A5BBF6-AEDB-4867-92F6-C0F560F3AABF}" EndProject Global - GlobalSection(SharedMSBuildProjectFiles) = preSolution - src\votive.shared\votive.shared.projitems*{24a98296-9d58-42c1-95c0-cc36736409e2}*SharedItemsImports = 4 - src\votive.shared\votive.shared.projitems*{29a5bbf6-aedb-4867-92f6-c0f560f3aabf}*SharedItemsImports = 4 - src\votive.shared\votive.shared.projitems*{72a14880-ec19-43b4-a4f0-dc9ddae2c763}*SharedItemsImports = 13 - EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|arm = Debug|arm @@ -89,36 +80,6 @@ Global {D0DD12D1-3455-43A9-9173-E465DA045897}.Release|x64.Build.0 = Release|x64 {D0DD12D1-3455-43A9-9173-E465DA045897}.Release|x86.ActiveCfg = Release|x86 {D0DD12D1-3455-43A9-9173-E465DA045897}.Release|x86.Build.0 = Release|x86 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|arm.ActiveCfg = Debug|arm - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|arm.Build.0 = Debug|arm - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|Win32.ActiveCfg = Debug|Win32 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|Win32.Build.0 = Debug|Win32 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|x64.ActiveCfg = Debug|x64 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|x64.Build.0 = Debug|x64 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|x86.ActiveCfg = Debug|x86 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Debug|x86.Build.0 = Debug|x86 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|Any CPU.ActiveCfg = Debug|Any CPU - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|Any CPU.Build.0 = Debug|Any CPU - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|arm.ActiveCfg = Debug|arm - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|arm.Build.0 = Debug|arm - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|Win32.ActiveCfg = Debug|Win32 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|Win32.Build.0 = Debug|Win32 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|x64.ActiveCfg = Debug|x64 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|x64.Build.0 = Debug|x64 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|x86.ActiveCfg = Debug|x86 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.DebugDev12|x86.Build.0 = Debug|x86 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|Any CPU.Build.0 = Release|Any CPU - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|arm.ActiveCfg = Release|arm - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|arm.Build.0 = Release|arm - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|Win32.ActiveCfg = Release|Win32 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|Win32.Build.0 = Release|Win32 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|x64.ActiveCfg = Release|x64 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|x64.Build.0 = Release|x64 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|x86.ActiveCfg = Release|x86 - {587D2A86-66CF-46B4-98C8-C01E20F1076D}.Release|x86.Build.0 = Release|x86 {3C09CD7D-CA0F-4BB0-A1BE-0622645E93CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3C09CD7D-CA0F-4BB0-A1BE-0622645E93CB}.Debug|Any CPU.Build.0 = Debug|Any CPU {3C09CD7D-CA0F-4BB0-A1BE-0622645E93CB}.Debug|arm.ActiveCfg = Debug|arm @@ -149,36 +110,6 @@ Global {3C09CD7D-CA0F-4BB0-A1BE-0622645E93CB}.Release|x64.Build.0 = Release|x64 {3C09CD7D-CA0F-4BB0-A1BE-0622645E93CB}.Release|x86.ActiveCfg = Release|x86 {3C09CD7D-CA0F-4BB0-A1BE-0622645E93CB}.Release|x86.Build.0 = Release|x86 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|arm.ActiveCfg = Debug|arm - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|arm.Build.0 = Debug|arm - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|Win32.ActiveCfg = Debug|Win32 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|Win32.Build.0 = Debug|Win32 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|x64.ActiveCfg = Debug|x64 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|x64.Build.0 = Debug|x64 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|x86.ActiveCfg = Debug|x86 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Debug|x86.Build.0 = Debug|x86 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|Any CPU.ActiveCfg = Debug|Any CPU - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|Any CPU.Build.0 = Debug|Any CPU - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|arm.ActiveCfg = Debug|arm - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|arm.Build.0 = Debug|arm - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|Win32.ActiveCfg = Debug|Win32 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|Win32.Build.0 = Debug|Win32 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|x64.ActiveCfg = Debug|x64 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|x64.Build.0 = Debug|x64 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|x86.ActiveCfg = Debug|x86 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.DebugDev12|x86.Build.0 = Debug|x86 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|Any CPU.Build.0 = Release|Any CPU - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|arm.ActiveCfg = Release|arm - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|arm.Build.0 = Release|arm - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|Win32.ActiveCfg = Release|Win32 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|Win32.Build.0 = Release|Win32 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|x64.ActiveCfg = Release|x64 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|x64.Build.0 = Release|x64 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|x86.ActiveCfg = Release|x86 - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8}.Release|x86.Build.0 = Release|x86 {24A98296-9D58-42C1-95C0-CC36736409E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {24A98296-9D58-42C1-95C0-CC36736409E2}.Debug|Any CPU.Build.0 = Debug|Any CPU {24A98296-9D58-42C1-95C0-CC36736409E2}.Debug|arm.ActiveCfg = Debug|arm diff --git a/src/Schemas/v4/WixLogo.png b/src/Schemas/v4/WixLogo.png deleted file mode 100644 index eaf3d1254581af12d8956f7a66fc80459c55ff78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6238 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 G;{O3t(eWVw diff --git a/src/Schemas/v4/schemas/bal4.xsd b/src/Schemas/v4/schemas/bal4.xsd deleted file mode 100644 index 73f1054..0000000 --- a/src/Schemas/v4/schemas/bal4.xsd +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Burn User Experience Extension. - - - - - - - - - Conditions for a bundle. The condition is specified in the inner text of the element. - - - - - - - - - - - - The condition that must evaluate to true for the installation to continue. - - - - - - Set the value to the text to display when the condition fails and the installation must be terminated. - - - - - - - - - - - - Configures WixStandardBootstrapperApplication for a Bundle. - - - - - - - - - - If set, the success page will show a Launch button the user can use to launch the application being installed. - The string value can be formatted using Burn variables enclosed in brackets, - to refer to installation directories and so forth. - - - - - - - Id of the target ApprovedExeForElevation element. - If set with LaunchTarget, WixStdBA will launch the application through the Engine's LaunchApprovedExe method instead of through ShellExecute. - - - - - - - If set, WixStdBA will supply these arguments when launching the application specified by the LaunchTarget attribute. - The string value can be formatted using Burn variables enclosed in brackets, - to refer to installation directories and so forth. - - - - - - - If set to "yes", WixStdBA will launch the application specified by the LaunchTarget attribute with the SW_HIDE flag. - This attribute is ignored when the LaunchTargetElevatedId attribute is specified. - - - - - - - WixStdBA will use this working folder when launching the specified application. - The string value can be formatted using Burn variables enclosed in brackets, - to refer to installation directories and so forth. - This attribute is ignored when the LaunchTargetElevatedId attribute is specified. - - - - - - Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl. - - - - - URL target of the license link. Cannot be used simultaneously with LicenseFile. This attribute can be empty to hide the license link completely. - - - - - Source file of the logo graphic. - - - - - Source file of the side logo graphic. - - - - - Source file of the theme XML. - - - - - Source file of the theme localization .wxl file. - - - - - If set to "yes", the Options button will not be shown and the user will not be able to choose an installation directory. - - - - - If set to "yes", attempting to installer a downgraded version of a bundle will be treated as a successful do-nothing operation. - The default behavior (or when explicitly set to "no") is to treat downgrade attempts as failures. - - - - - If set to "yes", the Repair button will not be shown in the maintenance-mode UI. - - - - - If set to "yes", the application version will be displayed on the UI. - - - - - If set to "yes", the bundle can be pre-cached using the /cache command line argument. - - - - - - - - - Configures the ManagedBootstrapperApplicationHost for a Bundle. - - - - - - - - - Source file of the logo graphic. - - - - - Source file of the theme XML. - - - - - Source file of the theme localization .wxl file. - - - - - - - - - When set to "yes", WixStdBA will load the DLL and work with it to handle BA messages. - - - - - - - - - - - When set to "yes", lets the user override the variable's default value by specifying another value on the command line, - in the form Variable=Value. Otherwise, WixStdBA won't overwrite the default value and will log - "Ignoring attempt to set non-overridable variable: 'BAR'." - - - - - - - - - - - Source file of the RTF license file. - There may only be one package in the bundle that has either the PrereqLicenseFile attribute or the PrereqLicenseUrl attribute. - - - - - - - - - - - - - - URL target of the license link. - There may only be one package in the bundle that has either the PrereqLicenseFile attribute or the PrereqLicenseUrl attribute. - - - - - - - - - - - - - - When set to "yes", the Prereq BA will plan the package to be installed if its InstallCondition is "true" or empty. - - - - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/src/Schemas/v4/schemas/cfg4.xsd b/src/Schemas/v4/schemas/cfg4.xsd deleted file mode 100644 index c612759..0000000 --- a/src/Schemas/v4/schemas/cfg4.xsd +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Settings Engine Extension. - - - - - - - - - Registers a product with the Cfg Engine in the global database - - - - - - - - - - - - - Name of the product. - - - - - - - - Version of the product. - - - - - - - - Public Key of the product. - - - - - - - - Feature to associate the autogenerated component with. - - - - - - diff --git a/src/Schemas/v4/schemas/complus4.xsd b/src/Schemas/v4/schemas/complus4.xsd deleted file mode 100644 index f7ddacc..0000000 --- a/src/Schemas/v4/schemas/complus4.xsd +++ /dev/null @@ -1,944 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset COM+ Extension. - - - - - - - - - - - - - - - Defines a COM+ partition. If this element is a child of a - Component element, the partition will be created in association with this - component. If the element is a child of any of the Fragment, Module or Product - elements it is considered to be a locater, referencing an existing partition. - - - - - - - - - - - - - Identifier for the element. - - - - - Id for the partition. This attribute can be omitted, in - which case an id will be generated on install. If the element is a locater, - this attribute can be omitted if a value is provided for the Name attribute. - - - - - Name of the partition. This attribute can be omitted if - the element is a locater, and a value is provided for the PartitionId - attribute. - - - - - - - - - - - - - - - - - - Defines a COM+ partition role. Partition roles can not be - created; this element can only be used as a locater to reference an existing - role. - - - - - - - - - - - - Identifier for the element. - - - - - The id of a ComPlusPartition element representing the partition - the role belongs to. - - - - - Name of the partition role. - - - - - - - - - - - - This element represents a user membership in a partition - role. When the parent component of this element is installed, the user will be - added to the associated partition role. - - - - - - Identifier for the element. - - - - - The id of a ComPlusPartitionRole element representing the - partition the user should be added to. - - - - - Foreign key into the User table. - - - - - - - - - - - - This element represents a security group membership in a - partition role. When the parent component of this element is installed, the - security group will be added to the associated partition role. - - - - - - Identifier for the element. - - - - - The id of a ComPlusPartitionRole element representing the - partition the user should be added to. - - - - - Foreign key into the Group table. - - - - - - - - - - - - Represents a default partition definition for a user. When - the parent component of this element is installed, the default partition of the - user will be set to the referenced partition. - - - - - - Identifier for the element. - - - - - The id of a ComPlusPartition element representing the - partition that will be the default partition for the user. - - - - - Foreign key into the User table. - - - - - - - - - - - - - - - Defines a COM+ application. If this element is a descendent - of a Component element, the application will be created in association with - this component. If the element is a child of any of the Fragment, Module or - Product elements it is considered to be a locater, referencing an existing - application. - - If the element is a child of a ComPlusPartition element, - or have its Partition attribute set, the application will be installed under - the referenced partition. - - - - - - - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusPartition - element, this attribute can be provided with the id of a ComPlusPartition - element representing the partition the application belongs to. - - - - - Id for the application. This attribute can be omitted, in - which case an id will be generated on install. If the element is a locater, - this attribute can be omitted if a value is provided for the Name attribute. - - - - - Name of the application. This attribute can be omitted if - the element is a locater, and a value is provided for the PartitionId - attribute. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Defines an application role. If this element is a descendent - of a Component element, the application role will be created in association - with this component. If the element is a child of any of the Fragment, Module - or Product elements it is considered to be a locater, referencing an existing - application role. - - - - - - - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusApplication - element, this attribute should be provided with the id of a - ComPlusApplication element representing the application the role belongs to. - - - - - Name of the application role. - - - - - - - - - - - - - This element represents a user membership in an - application role. When the parent component of this element is installed, the - user will be added to the associated application role. This element must be a descendent - of a Component element; it can not be a child of a ComPlusApplicationRole - locater element. To reference a locater element use the ApplicationRole - attribute. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusApplicationRole - element, this attribute should be provided with the id of a - ComPlusApplicationRole element representing the application role the user is - to be added to. - - - - - Foreign key into the User table. - - - - - - - - - - - - This element represents a security group membership in an - application role. When the parent component of this element is installed, the - user will be added to the associated application role. This element must be a - descendent of a Component element; it can not be a child of a - ComPlusApplicationRole locater element. To reference a locater element use the - ApplicationRole attribute. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusApplicationRole - element, this attribute should be provided with the id of a - ComPlusApplicationRole element representing the application role the user is - to be added to. - - - - - Foreign key into the Group table. - - - - - - - - - Represents a DLL or assembly to be registered with COM+. If - this element is a child of a ComPlusApplication element, the assembly will be - registered in this application. Other ways the Application attribute must be - set to an application. The element must be a descendent of a Component element, - it can not be a child of a ComPlusApplication locator element. - - - - - - When installing a native assembly, all components - contained in the assembly must be represented as ComPlusComponent elements - under this element. Any component not listed will not be removed during - uninstall. - - - - The fields DllPath, TlbPath and PSDllPath are formatted - fields that should contain file paths to there respective file types. A typical - value for DllPath for example, should be something like “[#MyAssembly_dll]”, - where “MyAssembly_dll” is the key of the dll file in the File table. - - - - Warning: The assembly name provided in the AssemblyName - attribute must be a fully specified assembly name, if a partial name is - provided a random assembly matching the partial name will be selected. - - - - - - - - - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusApplication - element, this attribute should be provided with the id of a ComPlusApplication - element representing the application the assembly is to be registered in. - This attribute can be omitted for a .NET assembly even if the application is - not a child of a ComPlusApplication element. - - - - - The name of the assembly used to identify the assembly in - the GAC. This attribute can be provided only if DllPathFromGAC is set to - “yes”. - - - - - The path to locate the assembly DLL during registration. - This attribute should be provided if DllPathFromGAC is not set to “yes”. - - - - - An optional path to an external type lib for the assembly. - This attribute must be provided if the Type attribute is set to “.net”. - - - - - An optional path to an external proxy/stub DLL for the assembly. - - - - - - - - - - - - - - - Indicates that the assembly is to be installed as an event - class DLL. This attribute is only valid for native assemblies. The assembly - will be installed with the COM+ catalog’s InstallEventClass() function. - - - - - Indicates that the DLL path should be extracted from the - GAC instead for being provided in the DllPath attribute. If this attribute is - set to “yes”, the name of the assembly can be provided using the AssemblyName - attribute. Or, if this AssemblyName attribute is missing, the name will be - extracted from the MsiAssemblyName table using the id of the parent Component - element. - - - - - Indicates that the assembly should be installed in the - commit custom action instead of the normal deferred custom action. This is - necessary when installing .NET assemblies to the GAC in the same - installation, as the assemblies are not visible in the GAC until after the - InstallFinalize action has run. - - - - - - - - - Defines a dependency between two assemblies. This element - affects the order in which assembles are registered. Any assemblies referenced - by this element are guarantied to be registered before, and unregistered after, - the assembly referenced by the parent ComPlusAssembly element. - - - - It is only necessary to explicitly specify dependencies between - assemblies contained in the same package (MSI or MSM). Assemblies merged in to a - package from a merge module will always be installed before any assemblies - specified in the base package. Assemblies merged in from different merge - modules are sequenced using the ModuleDependency MSI table. It is not possible - to have cross dependencies between merge modules or have an assembly in a merge - module depend on an assembly in the base package. - - - - - - - Reference to the id of the assembly required by the parent - ComPlusAssembly element. - - - - - - - - Represents a COM+ component in an assembly. - - - - - - - - - - - - Identifier for the element. - - - - - CLSID of the component. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents a role assignment to a COM+ component. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusComponent - element, this attribute should be provided with the id of a ComPlusComponent - element representing the component the role is to be added to. - - - - - Id of the ComPlusApplicationRole element representing the - role that shall be granted access to the component. - - - - - - - - Represents an interface for a COM+ component. - - - - - - - - - - - Identifier for the element. - - - - - IID of the interface. - - - - - - - - - - - - - - Represents a role assignment to an interface. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusInterface - element, this attribute should be provided with the id of a ComPlusInterface - element representing the interface the role is to be added to. - - - - - Id of the ComPlusApplicationRole element representing the - role that shall be granted access to the interface. - - - - - - - - - Represents a method for an interface. - - - - - - - - - - Identifier for the element. - - - - - - - Dispatch id of the method. If this attribute is not set a - value must be provided for the Name attribute. - - - - - - - Name of the method. If this attribute is not set a value - must be provided for the Index attribute. - - - - - - - - - - - - - - - Represents a role assignment to a COM+ method. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusMethod element, - this attribute should be provided with the id of a ComPlusMethod element - representing the method the role is to be added to. - - - - - Id of the ComPlusApplicationRole element representing the - role that shall be granted access to the method. - - - - - - - - - - - - Defines an event subscription for a COM+ component. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusComponent - element, this attribute should be provided with the id of a ComPlusComponent - element representing the component the subscription is to be created for. - - - - - Id of the subscription. If a value is not provided for - this attribute, an id will be generated during installation. - - - - - Name of the subscription. - - - - - CLSID of the event class for the subscription. If a value - for this attribute is not provided, a value for the PublisherID attribute - must be provided. - - - - - Publisher id for the subscription. If a value for this - attribute is not provided, a value for the EventCLSID attribute must be - provided. - - - - - - - - - - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF". - - - - - - - diff --git a/src/Schemas/v4/schemas/dependency4.xsd b/src/Schemas/v4/schemas/dependency4.xsd deleted file mode 100644 index 0c36cb8..0000000 --- a/src/Schemas/v4/schemas/dependency4.xsd +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Dependency Extension. - - - - - - Describes the information for this product or feature that serves as a dependency of other products or features. - - - - - - - - - - This element is required for any product, feature, or bundle that will use the Dependency feature to properly reference count - other products or features. It should be authored into a component that is always installed and removed with the - product or features that contain it. This guarantees that product dependencies are not removed before those products that - depend on them. - - - The @Key attribute should identify a version range for your product that you guarantee will be backward compatible. - This key is designed to persist throughout compatible upgrades so that dependent products do not have to be reinstalled - and will not prevent your product from being upgraded. If this attribute is not authored, the value is the ProductCode - and will not automatically support upgrades. - - - By default this uses the Product/@Id attribute value, which may be automatically generated. - - - How To: Author product dependencies - - - - - - - - - - - Dependency provider identity. If this attribute is not specified, an identifier will be generated automatically. - - - - - - - Optional unique registry key name that identifies a product version range on which other products can depend. - This attribute is required in package authoring, but optional for components. - - - - - - - The version of the package. For MSI packages, the ProductVersion will be used by default - and this attribute should not be specified. - - - - - - - Optional display name of the package. For MSI packages, the ProductName will be used by default. - - - - - - - - - Describes a dependency on a provider for the current component or package. - - - - - - - - - This element declares a dependency on any product that uses the Provides element. If that product is uninstalled - before a product that requires it, the uninstall will err or warn the user that other products are installed - which depend on that product. This behavior can be modified by changing the attribute values on the Requires element. - - - If you do not nest this element under a Provides element, you must specify the @Id attribute - so that it can be referenced by a RequiresRef element nested under a Provides element. - - - - How To: Author product dependencies - - - - - - - Dependency requirement identity. If this attribute is not specified, an identifier will be generated automatically. - If this element is not authored under a Provides element, this attribute is required. - - - - - - - The unique registry key name for the dependency provider to require during installation of this product. - - - - - - - The minimum version of the dependency provider required to be installed. The default is unbound. - - - - - - - The maximum version of the dependency provider required to be installed. The default is unbound. - - - - - - - Set to "yes" to make the range of dependency provider versions required include the value specified in Minimum. - - - - - - - Set to "yes" to make the range of dependency provider versions required include the value specified in Maximum. - - - - - - - - - References existing authoring for a dependency on a provider for the current component or package. - - - - - This element references a dependency on any product that uses the Provides element. If that product is uninstalled - before a product that requires it, the uninstall will err or warn the user that other products are installed - which depend on that product. This behavior can be modified by changing the attribute values on the Requires element. - - - - How To: Author product dependencies - - - - - - - The identifier of the Requires element to reference. - - - - - - - - - Optional attribute to explicitly author the provider key for the entire bundle. - - - - - - This provider key is designed to persist throughout compatible upgrades so that dependent bundles do not have to be reinstalled - and will not prevent your product from being upgraded. If this attribute is not authored, the value is the - automatically-generated bundle ID and will not automatically support upgrades. - - - Only a single provider key is supported for bundles. To author that your bundle provides additional features via - packages, author different provider keys for your packages. - - - - - - - - - - Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. - This can also be a preprocessor, binder, or WiX variable. - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - diff --git a/src/Schemas/v4/schemas/difxapp4.xsd b/src/Schemas/v4/schemas/difxapp4.xsd deleted file mode 100644 index e665d03..0000000 --- a/src/Schemas/v4/schemas/difxapp4.xsd +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Driver Install Frameworks for Applications Extension. - - - - - - - - - - - - Installs a driver. To use this element, you need to reference the WixDifxAppExtension extension and add the - .wixlib appropriate for the target platform (difxapp_x86.wixlib or difxapp_x64.wixlib) - to your project. - - - - - - - Specifies that the DIFxApp CustomActions should add an entry in the Add/Remove Programs Control - Panel applet. The default is 'yes'. - - - - - - - If set to "yes", configures DIFxApp to delete binary files that were copied to the system from the driver - store when a driver package was installed. If this attribute is set to "no" or not present, DIFxApp does not - remove these files from a system. Note that configuring DIFxApp to delete these files is controlled by the - Flags entry value of the component that represents the driver package in the MsiDriverPackages custom table. - Setting DeleteFiles to "yes" sets the corresponding bit in the Flags entry value. Setting DeleteFiles to "no" - clears the corresponding bit in the Flags entry value. If this attribute is not present, DIFxApp uses a - default value of "no". - - - - - - - Specifies that the DIFxApp CustomActions should force the installation of a new Plug and Play driver - on a device, even if the currently installed driver on the device is a better match than the new driver. - Specifying 'no' is an excellent way to ensure the DIFxApp CustomActions recognize the Component contains - a driver for installation. The default is null which means the Component does not install a driver via - DIFxApp CustomActions. See http://www.microsoft.com/whdc/driver/install/difxtools.mspx - for more information. - - - - - - - If set to "yes", configures DIFxApp to install unsigned driver packages and driver packages with missing - files. For more information, see "Installing Unsigned Driver Packages in Legacy Mode" earlier in this paper. - If this attribute is set to "no" or not present, DIFxApp will install only signed driver packages. Note - that configuring DIFxApp to install unsigned drivers is controlled by the Flags entry value of the component - that represents the driver package in the MsiDriverPackages custom table. Setting Legacy to "yes" sets - the corresponding bit in the Flags entry value. Setting Legacy to "no" clears the bit in the Flags - entry value that configures DIFxApp to install unsigned driver packages. If this attribute is not present, - DIFxApp uses a default value of "no". - - - - - - - Specifies that the DIFxApp CustomActions should prompt the user to connect the Plug and Play - device if it is not connected. The default is 'yes'. - - - - - - - Specifies an optional installation sequence number. DIFxApp CustomActions install the driver packages in - an installation package in the order of increasing sequence numbers. The same sequence number can be used - for more than one driver; however, the order in which packages with the same sequence number are actually - installed cannot be determined. - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/src/Schemas/v4/schemas/firewall4.xsd b/src/Schemas/v4/schemas/firewall4.xsd deleted file mode 100644 index d64aafe..0000000 --- a/src/Schemas/v4/schemas/firewall4.xsd +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Firewall Extension. - - - - - - - - - Registers an exception for a program or a specific port and protocol in the Windows Firewall - on Windows XP SP2, Windows Server 2003 SP1, and later. For more information about the Windows - Firewall, see - About Windows Firewall API. - - - - - - - - - - - - Explicitly-listed remote addresses that this exception allows through the - firewall. - - - - - - - - - Unique ID of this firewall exception. - - - - - - - - Name of this firewall exception, visible to the user in the firewall - control panel. - - - - - - - - The scope of this firewall exception, which indicates whether incoming - connections can come from any computer including those on the Internet - or only those on the local network subnet. To more precisely specify - allowed remote address, specify a custom scope using RemoteAddress - child elements. - - - - - - - - - - - - - - Port to allow through the firewall for this exception. - - If you use Port and also File or Program in the same - FirewallException element, the exception will fail to install on - Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to - ignore the resulting failure, but the exception will not be added. - - - - - - - - IP protocol used for this firewall exception. If Port is defined, - "tcp" is assumed if the protocol is not specified. - - If you use Protocol and also File or Program in the same - FirewallException element, the exception will fail to install on - Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to - ignore the resulting failure, but the exception will not be added. - - - - - - - - - - - - - - Identifier of a file to be granted access to all incoming ports and - protocols. If you use File, you cannot also use Program. - - If you use File and also Port or Protocol in the same - FirewallException element, the exception will fail to install on - Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to - ignore the resulting failure, but the exception will not be added. - - - - - - - - Path to a target program to be granted access to all incoming ports and - protocols. Note that this is a formatted field, so you can use [#fileId] - syntax to refer to a file being installed. If you use Program, you cannot - also use File. - - If you use Program and also Port or Protocol in the same - FirewallException element, the exception will fail to install on - Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to - ignore the resulting failure, but the exception will not be added. - - - - - - - - If "yes," failures to register this firewall exception will be silently - ignored. If "no" (the default), failures will cause rollback. - - - - - - - - Profile type for this firewall exception. Default is "all". - - - - - - - - - - - - - - - Description for this firewall rule displayed in Windows Firewall manager in - Windows Vista and later. - - - - - - - - - - A remote address to which the port or program can listen. Address formats vary - based on the version of Windows and Windows Firewall the program is being installed - on. For Windows XP SP2 and Windows Server 2003 SP1, see - - RemoteAddresses Property. - For Windows Vista and Windows Server 2008, see - - RemoteAddresses Property. - - - - - - - - A remote address. - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/src/Schemas/v4/schemas/gaming4.xsd b/src/Schemas/v4/schemas/gaming4.xsd deleted file mode 100644 index d04936f..0000000 --- a/src/Schemas/v4/schemas/gaming4.xsd +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Gaming Extension. - - - - - - - - - Registers this extension for the - rich saved games - property handler on Windows Vista and later. - - - - - - - - - - - Registers a game in Game Explorer on Windows Vista and later. The executable must have an - embedded Game Definition File. For more information about Game Explorer and GDFs, see - The Windows Vista Game Explorer. - This registration is accomplished via custom action. - - On Windows XP, this element instead records the same information in the registry so that - later upgrades to Windows Vista register the game in Game Explorer. - - - - - - - - - Each game can support multiple play and support tasks that are shown in the Game Explorer context menu. PlayTask and SupportTask are not needed when using when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. At least one play task should be created using either PlayTask or the ExtendedProperties\GameTasks\Play in the GDF. - - - - - - - - The game's instance ID. - - - - - Identifier of the file that contains the game's GDF resource, if it doesn't exist in the parent file. - - - - - Identifier of the file that is the game's executable, if it isn't the parent file. - - - - - - - - - Creates a shortcut to the parent File and registers it as a "play task" in Game Explorer. For more information, see - - Game Explorer Tasks - . PlayTask should not be used when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. - - - - - - User-visible task name Game Explorer shows on its context menu. Note that the first task is named "Play" regardless of the name you provide. - - - - - Command-line arguments to be passed to the game executable for this task. - - - - - - - - - Creates an Internet shortcut and registers it as a "support task" in Game Explorer. For more information, see - - Game Explorer Tasks - . SupportTask should not be used when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. - - - - - - User-visible task name Game Explorer shows on its context menu. Note that the first task is named "Play" regardless of the name you provide. - - - - - URI for this task. - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples. - - - - - - diff --git a/src/Schemas/v4/schemas/http4.xsd b/src/Schemas/v4/schemas/http4.xsd deleted file mode 100644 index b96a6de..0000000 --- a/src/Schemas/v4/schemas/http4.xsd +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - The source code schema for the Windows Installer XML Toolset Http Extension. - - - - - - - - - Makes a reservation record for the HTTP Server API configuration store on Windows XP SP2, - Windows Server 2003, and later. For more information about the HTTP Server API, see - - HTTP Server API - . - - - - - - - - - - - - The access control entries for the access control list. - - - - - - - - - Specifies the behavior when trying to install a URL reservation and it already exists. - - - - - - - - Replaces the existing URL reservation (the default). - - - - - - - Keeps the existing URL reservation. - - - - - - - The installation fails. - - - - - - - - - - - Unique ID of this URL reservation. - If this attribute is not specified, an identifier will be generated automatically. - - - - - - - - Security descriptor to apply to the URL reservation. - Can't be specified when using children UrlAce elements. - - - - - - - - The UrlPrefix - string that defines the portion of the URL namespace to which this reservation pertains. - - - - - - - - - - The security principal and which rights to assign to them for the URL reservation. - - - - - - - Unique ID of this URL ACE. - If this attribute is not specified, an identifier will be generated automatically. - - - - - - - - The security principal for this ACE. When the UrlReservation is under a ServiceInstall element, this defaults to - "NT SERVICE\ServiceInstallName". This may be either a SID or an account name in a format that - LookupAccountName - supports. When using a SID, an asterisk must be prepended. For example, "*S-1-5-18". - - - - - - - - Rights for this ACE. Default is "all". - - - - - - - - - - - - - diff --git a/src/Schemas/v4/schemas/iis4.xsd b/src/Schemas/v4/schemas/iis4.xsd deleted file mode 100644 index 1c4bdaf..0000000 --- a/src/Schemas/v4/schemas/iis4.xsd +++ /dev/null @@ -1,1104 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Internet Information Services Extension. - - - - - - - - - - - - - - WebDirProperties used by one or more WebSites. Lists properties common to IIS web sites and vroots. Corresponding properties can be viewed through the IIS Manager snap-in. One property entry can be reused by multiple sites or vroots using the Id field as a reference, using WebVirtualDir.DirProperties, WebSite.DirProperties, or WebDir.DirProperties. - - - - - - - - - - - Sets the Enable Anonymous Access checkbox, which maps anonymous users to a Windows user account. When setting this to 'yes' you should also provide the user account using the AnonymousUser attribute, and determine what setting to use for the IIsControlledPassword attribute. Defaults to 'no.' - - - - - Reference to the Id attribute on the User element to be used as the anonymous user for the directory. See the User element for more information. - - - - - Sets whether IIS should control the password used for the Windows account specified in the AnonymousUser attribute. Defaults to 'no.' - - - - - Sets the Windows Authentication option, which enables integrated Windows authentication to be used on the site. Defaults to 'no.' - - - - - Sets the Digest Authentication option, which allows using digest authentication with domain user accounts. Defaults to 'no.' - - - - - Sets the Basic Authentication option, which allows clients to provide credentials in plaintext over the wire. Defaults to 'no.' - - - - - Sets the Passport Authentication option, which allows clients to provide credentials via a .Net Passport account. Defaults to 'no.' - - - - - Sets whether visits to this site should be logged. Defaults to 'no.' - - - - - Sets the Index Resource option, which specifies whether this web directory should be indexed. Defaults to 'no.' - - - - - The list of default documents to set for this web directory, in comma-delimited format. - - - - - Sets the option for whether to send detailed ASP errors back to the client on script error. Default is 'no.' - - - - - Value to set the HttpExpires attribute to for a Web Dir in the metabase. - - - - - Integer value specifying the cache control maximum age value. - - - - - Custom HTTP 1.1 cache control directives. - - - - - Specifies whether IIs will return custom errors for this directory. - - - - - A value of true indicates that file access requires SSL file permission processing, with or without a client certificate. This corresponds to AccessSSL flag for AccessSSLFlags IIS metabase property. - - - - - A value of true indicates that file access requires SSL file permission processing with a minimum key size of 128 bits, with or without a client certificate. This corresponds to AccessSSL128 flag for AccessSSLFlags IIS metabase property. - - - - - This corresponds to AccessSSLMapCert flag for AccessSSLFlags IIS metabase property. - - - - - This corresponds to AccessSSLNegotiateCert flag for AccessSSLFlags IIS metabase property. - - - - - This corresponds to AccessSSLRequireCert flag for AccessSSLFlags IIS metabase property. - - - - - Comma delimited list, in order of precedence, of Windows authentication providers that IIS will attempt to use: NTLM, Kerberos, Negotiate, and others. - - - - - - - - Custom Web Errors used by WebSites and Virtual Directories. - - - You can only use error code and sub code combinations which are supported by IIS. Attempting to set a custom error for - an error code and sub code combination that is not supported by IIS (in the default list of error codes) will result in - an installation failure. - - - - - - - HTTP 1.1 error code. - - - - - Error sub code. Set to 0 to get the wild card "*". - - - - - File to be sent to the client for this error code and sub code. This can be formatted. For example: [#FileId]. - - - - - URL to be sent to the client for this error code and sub code. This can be formatted. - - - - - - - - Custom HTTP Header definition for IIS resources such as WebSite and WebVirtualDir. - - - - - Primary key for custom HTTP Header entry. This will default to the Name attribute. - - - - - Name of the custom HTTP Header. - - - - - Value for the custom HTTP Header. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see Formatted for details. - - - - - - - - MimeMap definition for IIS resources. - - - - - Id for the MimeMap. - - - - - Mime-type covered by the MimeMap. - - - - - Extension covered by the MimeMap. Must begin with a dot. - - - - - - - - - - - IIs Filter for a Component - - - - - The unique Id for the web filter. - - - - - The name of the filter to be used in IIS. - - - - - - The path of the filter executable file. - This should usually be a value like '[!FileId]', where 'FileId' is the file identifier - of the filter executable file. - - - - - - - Specifies the parent website for this filter (if there is one). - If this is a global filter, then this attribute should not be specified. - - - - - - Description of the filter. - - - - - Sets the MD_FILTER_FLAGS metabase key for the filter. This must be an integer. See MSDN 'FilterFlags' documentation for more details. - - - - - - The legal values are "first", "last", or a number. - If a number is specified, it must be greater than 0. - - - - - - - - - Extension for WebApplication - - - - - usually a Property that resolves to short file name path - - - - - Extension being registered. Do not prefix with a '.' (e.g. you should use "html", not ".html"). To register for all extensions, use Extension="*". To register a wildcard application map (which handles all requests, even those for directories or files with no extension) omit the Extension attribute completely. - - - - - - - - - - - - - - - - - - - - IIS6 Application Pool - - - - - - - - Id of the AppPool. - - - - - Name of the AppPool to be shown in IIs. - - - - - User account to run the AppPool as. To use this, you must set the Identity attribute to 'other'. - - - - - How often, in minutes, you want the AppPool to be recycled. - - - - - How often, in requests, you want the AppPool to be recycled. - - - - - Specifies the amount of virtual memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this attribute is 4,294,967 KB. - - - - - Specifies the amount of private memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this attribute is 4,294,967 KB. - - - - - Shutdown worker process after being idle for (time in minutes). - - - - - Limit the kernel request queue (number of requests). - - - - - Maximum CPU usage (percent). - - - - - Refresh CPU usage numbers (in minutes). - - - - - Action taken when CPU exceeds maximum CPU use (as defined with MaxCpuUsage and RefreshCpu). - - - - - - - - - - - Maximum number of worker processes. - - - - - Identity you want the AppPool to run under (applicationPoolIdentity is only available on IIS7). Use the 'other' value in conjunction with the User attribute to specify non-standard user. - - - - - - - - - - - - - - - Specifies the request-processing mode that is used to process requests for managed content. Only available on IIS7, ignored on IIS6. - See http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults for valid values. - This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - Specifies the .NET Framework version to be used by the application pool. Only available on IIS7, ignored on IIS6. - See http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults for valid values. - This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - - - IIS6 Application Pool Recycle Times on 24 hour clock. - - - - - - - - - - - - - - - - Used to install and uninstall certificates. - - - - - - - - - - - Unique identifier for this certificate in the installation package. - - - - - - - Name of the certificate that will be installed or uninstalled in the specified store. - This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - - - - Contains the certificates of certificate authorities that the user trusts to issue certificates to others. Certificates in these stores are normally supplied with the operating system or by the user's network administrator. - - - - - - - Use the "personal" value instead. - - - - - - - Contains personal certificates. These certificates will usually have an associated private key. This store is often - referred to as the "MY" certificate store. - - - - - - - - Contains the certificates of certificate authorities that the user trusts to issue certificates to others. Certificates in these stores are normally supplied with the operating system or by the user's network administrator. Certificates in this store are typically self-signed. - - - - - - - Contains the certificates of those that the user normally sends enveloped messages to or receives signed messages from. - See MSDN documentation for more information. - - - - - - - Contains the certificates of those directly trusted people and resources. - See MSDN documentation for more information. - - - - - - - Contains the certificates of those publishers who are trusted. - See MSDN documentation for more information. - - - - - - - - - - - - - - - - - - - This attribute controls whether the CertificatePath attribute is a path to a certificate file (Request='no') or the - certificate authority to request the certificate from (Request='yes'). - - - - - - - Reference to a Binary element that will store the certificate as a stream inside the package. This attribute cannot be specified with - the CertificatePath attribute. - - - - - - - - - - If the Request attribute is "no" then this attribute is the path to the certificate file outside of the package. - If the Request attribute is "yes" then this atribute is the certificate authority to request the certificate from. - This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - If the Binary stream or path to the file outside of the package is a password protected PFX file, the password for that - PFX must be specified here. This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - - - - Associates a certificate with the parent WebSite. The Certificate element should be - in the same Component as the parent WebSite. - - - - - - - - - - The identifier of the referenced Certificate. - - - - - - - - - - - - Here is an explanation of the acceptable values for each property and their meaning: - - - For the Ids IIs5IsolationMode and LogInUTF8, no value should be specified since - the presence of this property indicates that the setting should be set. - - - For the MaxGlobalBandwidth Id, the value should be specified in kilobytes. The - value should be a base 10 number. - - - ETagChangeNumber sets the machine-specific portion of ETag as a number. This value, - when synchronized across servers in a web farm, allows the web farm to return an - identical ETag for a given resource regardless of the server that handled the - request. The value should be a base 10 number. - - - - - IIS Properties - - - - - - - - - - - - - - - - The value to be used for the WebProperty specified in the Id attribute. See - the remarks section for information on acceptable values for each Id. - - - - - - - - - - - - - - Defines properties for a web application. These properties can be used for more than one application defined in a web site or vroot, by defining this element in a common location and referring to it by setting the WebApplication attribute of the WebSite and WebVirtualDir elements. - - - - - - - - - Sets the name of this application. - - - - - - Sets the application isolation level for this application for pre-IIS 6 applications. - - - - - - - - Means the application executes within the IIS process. - - - - - - - Executes pooled in a separate process. - - - - - - - Means execution alone in a separate process. - - - - - - - - - Sets the Enable Session State option. When enabled, you can set the session timeout using the SessionTimeout attribute. - - - - - Sets the timeout value for sessions in minutes. - - - - - Sets the option that enables response buffering in the application, which allows ASP script to set response headers anywhere in the script. - - - - - Sets the parent paths option, which allows a client to use relative paths to reach parent directories from this application. - - - - - Sets the default script language for the site. - - - - - - - - - - - Sets the timeout value in seconds for executing ASP scripts. - - - - - Enable ASP server-side script debugging. - - - - - Enable ASP client-side script debugging. - - - - - References the Id attribute of a WebAppPool element to use as the application pool for this application in IIS 6 applications. - - - - - - - - WebAddress for WebSite - - - - - - - The IP address to locate an existing WebSite or create a new WebSite. When the WebAddress is part of a WebSite element - used to locate an existing web site the following rules are used: - - When this attribute is not specified only the "All Unassigned" IP address will be located. - When this attribute is explicitly specified only the specified IP address will be located. - When this attribute has the value "*" then any IP address including the "All Unassigned" IP address will be located - - When the WebAddress is part of a WebSite element used to create a new web site the following rules are used: - - When this attribute is not specified or the value is "*" the "All Unassigned" IP address will be used. - When this attribute is explicitly specified the IP address will use that value. - - The IP attribute can contain a formatted string that is processed at install time to insert the values of properties using - [PropertyName] syntax. - - - - - - - - Determines if this address represents a secure binding. The default is 'no'. - - - - - - - - - - - Defines an IIS virtual directory. When this element is a child of WebSite element, the virtual directory is defined within that web site. Otherwise this virtual directory must reference a WebSite element via the WebSite attribute - - - - - - - - - - - - - - References the Id attribute for a WebSite in which this virtual directory belongs. Required when this element is not a child of WebSite element. - - - - - Sets the application name, which is the URL relative path used to access this virtual directory - - - - - References the Id attribute for a Directory element that points to the content for this virtual directory. - - - - - - References the Id attribute for a WebDirProperties element that specifies the security and access properties for this virtual directory. - This attribute may not be specified if a WebDirProperties element is directly nested in this element. - - - - - - References the Id attribute for a WebApplication element that specifies web application settings for this virtual directory. If a WebApplication child is not specified, the virtual directory does not host web applications. - - - - - - - - - - - Defines a subdirectory within an IIS web site. When this element is a child of WebSite, the web directory is defined within that web site. Otherwise the web directory must reference a WebSite element via the WebSite attribute. - - - - - - - - - - References the Id attribute for a WebSite element in which this directory belongs. Required when this element is not a child of a WebSite element. - - - - - Specifies the name of this web directory. - - - - - - References the Id attribute for a WebDirProperties element that specifies the security and access properties for this web directory. - This attribute may not be specified if a WebDirProperties element is directly nested in this element. - - - - - - - - - - - - - - - - Nesting WebSite under a Component element will result in a WebSite being installed to the machine as the package is installed. - - Nesting WebSite under Product, Fragment, or Module - results in a web site "locator" record being created in - the IIsWebSite table. This means that the web site - itself is neither installed nor uninstalled by the MSI - package. It does make the database available for referencing - from a WebApplication, WebVirtualDir or WebDir record. This allows an MSI to install - WebApplications, WebVirtualDirs or WebDirs to already existing web sites on the machine. - The install will fail if the web site does not exist in these cases. - - - - - IIs Web Site - - - - - - - - - - - - - - - - - - Identifier for the WebSite. Used within the MSI package only. - - - - - Specifies whether to automatically start the web site. - - - - - Specifies whether to configure the web site if it already exists. Note: This will not affect uninstall behavior. If the web site exists on uninstall, it will be removed. - - - - - Sets the timeout value for connections in seconds. - - - - - This is the name of the web site that will show up in the IIS management console. - - - - - Root directory of the web site. Resolved to a directory in the Directory table at install time by the server custom actions. - - - - - - References the Id attribute for a WebDirProperties element that specifies the security and access properties for this website root directory. - This attribute may not be specified if a WebDirProperties element is directly nested in this element. - - - - - - Sequence that the web site is to be created in. - - - - - - Optional attribute to directly specify the site id of the WebSite. Use this to ensure all web - sites in a web garden get the same site id. If a number is provided, the site id must be unique - on all target machines. If "*" is used, the Description attribute will be hashed to create a unique - value for the site id. This value must be a positive number or a "*" or a formatted value that resolves - to "-1" (for the same behavior as "*") or a positive number or blank. If this attribute is absent then - the web site will be located using the WebAddress element associated with the web site. - - - - - - Specifies whether to start the web site on install. - - - - - Reference to a WebApplication that is to be installed as part of this web site. - - - - - Reference to WebLog definition. - - - - - - - - - - - - - WebLog definition. - - - - - Identifier for the WebLog. - - - - - - - - - Microsoft IIS Log File Format - - - - - - - NCSA Common Log File Format - - - - - - - Disables logging. - - - - - - - ODBC Logging - - - - - - - W3C Extended Log File Format - - - - - - - - - - - - - - - The WebServiceExtension property is used by the Web server to determine whether a Web service extension is permitted to run. - - - - - - Usually a Property that resolves to short file name path - - - - - Description of the extension. - - - - - String used to identify groups of extensions. - - - - - Indicates if the extension is allowed or denied. - - - - - Indicates if the UI is allowed to delete the extension from the list of not. Default: Not deletable. - - - - - - - - Values of this type are any integers between 0 and 100, inclusive. - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - - Values of this type will either be "default", "yes", or "no". - - - - - - - - - diff --git a/src/Schemas/v4/schemas/lux4.xsd b/src/Schemas/v4/schemas/lux4.xsd deleted file mode 100644 index efd4caa..0000000 --- a/src/Schemas/v4/schemas/lux4.xsd +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Lux Extension. - - - - - - - - - Test mutations let you author unit tests with different expected results. The mutation - id is passed as the value of the WIXLUX_RUNNING_MUTATION property. Your custom action, - typically in an '#ifdef DEBUG' block, can retrieve the WIXLUX_RUNNING_MUTATION property - and hard-code different behavior based on the mutation. To author test mutations, use - the Mutation element with UnitTest elements as children. - - - - - - - - - - Child UnitTest elements are validated when the parent mutation is being executed. - - - - - - - - - Value of the WIXLUX_RUNNING_MUTATION property set by the mutation. - - - - - - - - - - Describes a unit test to be executed against a particular custom action, resulting in a - particular property value. Single-value properties, multi-value properties, and - name/value-pair properties can all be tested declaratively. - - - - - - - - - - - Child UnitTest elements are used to test multi-value properties. Note that Property - and ValueDelimiter or NameValueDelimiter must be specified in the parent element. - - - - - - - - - - - Identifier of the unit test. If you omit this attribute, a stable identifier is generated for you. - - - - - - - - Identifier of the custom action to be tested. - - - - - - - - Name of the property set by the custom action. - - - - - - - - The operator to apply to the property and value. Default is "equal." - - - - - - - - (Default) Compares Property to Value and succeeds if they are equal. - - - - - - - Compares Property to Value and succeeds if they are NOT equal. - - - - - - - Compares Property to Value and succeeds if they are equal (ignoring case). - - - - - - - Compares Property to Value and succeeds if they are NOT equal (ignoring case). - - - - - - - - - - - The value to compare to the property. - - - - - - - - One character that is used to separate values in a multi-value property. - - - - - - - - One character that is used to separate values in a name/value-pair multi-value property. - - - - - - - - A formatted string that evaluates to either an integer index into a multi-value property or a string name of a name/value-pair multi-value property. - - - - - - - - - - Conditions for a unit test. - - - - - - - - - - - - - An expression that must evaluate to true to succeed. Cannot be specified if Property is specified. - - - - - - - - - - - - - Identifies a unit test to be linked into a project. - - - - - - - - - - - Identifier of the unit test to be included. - - - - - - - diff --git a/src/Schemas/v4/schemas/msmq4.xsd b/src/Schemas/v4/schemas/msmq4.xsd deleted file mode 100644 index 2634833..0000000 --- a/src/Schemas/v4/schemas/msmq4.xsd +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset MSMQ Extension. - - - - - - - - - - - - - - - - - - - - - - - Default: No. - - - - - - Default: No. - - - - - - - - - - - - - - - - - - - Default: No. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - diff --git a/src/Schemas/v4/schemas/netfx4.xsd b/src/Schemas/v4/schemas/netfx4.xsd deleted file mode 100644 index 6ef4e9b..0000000 --- a/src/Schemas/v4/schemas/netfx4.xsd +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset .NET Framework Extension. - - - - - - - Improves the performance of managed applications by creating native images. - Requires the .NET Framework 2.0 or newer to be installed on the target machine since - it runs NGen. - - - - - - Native images are files containing compiled processor-specific machine code, which - are installed into the native image cache on the local computer. The runtime - can use native images from the cache instead using the just-in-time (JIT) - compiler to compile the original assembly. - - - The native image custom actions are configured to ignore failures so that failing - to generate or remove a native image will not cause setup to fail and roll back. - - - Note for patches: if you built your target, or baseline, MSI with - previous versions 3.0 or 3.5 of this extension and want to upgrade to formattable - values for @AssemblyApplication or @AppBaseDirectory you must also include a - BinaryRef to "NetFxCA" to pull in necessary changes. If you do use formattable - values and do not include the binary changes ngen.exe will not optimize your - native images for the specified application. - - - This should be a rare occurrence, however. Because you cannot remove components - in a patch - and pyro does validate you do not - it is not practical to switch - from using identifiers to formattable values in a patch. One practical possibility - is if you wanted to use a different application to optimize your native images - and that application is not already installed with the MSI to be updated. - - - - - - - - - The identifier for this NativeImage. - - - - - - - - The directory to use for locating dependent assemblies. - For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC), - this attribute should be set to the directory of the application which loads this - assembly. For EXE assemblies, this attribute does not need to be set because NGen - will use the directory of the assembly file by default. - - - The value can be in the form of a directory identifier, or a formatted string - that resolves to either a directory identifier or a full path to a directory. - - - - - - - - - The application which will load this assembly. - For DLL assemblies which are loaded via reflection, this attribute should - be set to indicate the application which will load this assembly. - The configuration of the application (usually specified via an exe.config file) will be used - to determine how to resolve dependencies for this assembly. - - - The value can be in the form of a file identifier, or a formatted string - that resolves to either a file identifier or a full path to a file. - - - When a shared component is loaded at run time, using the Load method, the - application's configuration file determines the dependencies that are loaded - for the shared component — for example, the version of a dependency that is loaded. - This attribute gives guidance on which dependencies would be loaded at run time in order - to figure out which dependency assemblies will also need to have native images generated - (assuming the Dependency attribute is not set to "no"). - - - This attribute cannot be set if the AssemblyApplication attribute is set on the parent - File element (please note that these attributes both refer to the same application - assembly but do very different things: specifiying File/@AssemblyApplication will force - an assembly to install to a private location next to the indicated application, whereas - this AssemblyApplication attribute will be used to help resolve dependent assemblies - while generating native images for this assembly). - - - - - - - - Set to "yes" to generate native images that can be used under a debugger. - The default value is "no". - - - - - - - Set to "no" to generate the minimum number of native images. - The default value is "yes". - - - - - - - Sets the platform(s) for which native images will be generated. - - - - - - - - Attempt to generate native images only for the 32-bit version of the .NET Framework - on the target machine. If the 32-bit version of the .NET Framework 2.0 or newer is not - present on the target machine, native image custom actions will not be scheduled. - This is the default value. - - - - - - - Attempt to generate native images only for the 64-bit version of the .NET Framework - on the target machine. If a 64-bit version of the .NET Framework 2.0 or newer is not - present on the target machine, native image custom actions will not be scheduled. - - - - - - - Attempt to generate native images for the 32-bit and 64-bit versions of the .NET Framework - on the target machine. If a version of the .NET Framework 2.0 or newer is not present on the - target machine for a processor architecture, native image custom actions will not be - scheduled for that processor architecture. - - - - - - - - - - Sets the priority of generating the native images for this assembly. - - - - - - - - This is the highest priority, it means that image generation occurs syncronously - during the setup process. This option will slow down setup performance. - - - - - - - This will queue image generation to the NGen service to occur immediately. - This option will slow down setup performance. - - - - - - - This will queue image generation to the NGen service to occur after all priority 1 - assemblies have completed. - This option will slow down setup performance. - - - - - - - This is the lowest priority, it will queue image generation to occur when the - machine is idle. - This option should not slow down setup performance. - This is the default value. - - - - - - - - - - Set to "yes" to generate native images that can be used under a profiler. - The default value is "no". - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - diff --git a/src/Schemas/v4/schemas/ps4.xsd b/src/Schemas/v4/schemas/ps4.xsd deleted file mode 100644 index 0c4c2be..0000000 --- a/src/Schemas/v4/schemas/ps4.xsd +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset PowerShell Extension. - - - - - - - Identifies the parent File as a formats XML file for the referenced PowerShell snap-in. - - - - - A formats XML file that defines output formats for objects on the pipeline. - - - - - - - - Reference to the formats File ID. This is required when nested under the SnapIn element. - - - - - - - Reference to the PowerShell snap-in ID for which this formats file is associated. This is required when nested under the File element. - - - - - - - - - Identifies the parent File as a types XML file for the referenced PowerShell snap-in. - - - - - A types XML file used by the extensible type system. - - - - - - - - Reference to the types File ID. This is required when nested under the SnapIn element. - - - - - - - Reference to the PowerShell snap-in ID for which this types file is associated. This is required when nested under the File element. - - - - - - - - - Identifies the parent File as a PowerShell snap-in to be registered on the system. - - - - - PowerShell snap-ins - allow developers to extend the functionality of of the PowerShell engine. - Add this element to identify the parent File as a PowerShell snap-in that will - get registered on the system. - - - - - - - - - - - - The identifier for this PowerShell snap-in. - - - - - - - The fully-qualified name of the assembly. - - - - - - - - - - The full type name of a class that is used to register a list of cmdlets and providers. - - - - - - - A brief description of the snap-in. - - - - - - - An embedded resource that contains a brief description of the snap-in. - This resource must be embedded in the current snap-in assembly. - - - - - - - The required version of PowerShell that must be installed and is associated with the - snap-in registration. The default value is "1.0". - - - - - - - The name of the snap-in vendor. - - - - - - - An embedded resource that contains the name of the snap-in vendor. - This resource must be embedded in the current snap-in assembly. - - - - - - - The version of the snapin. If not specified, this is taken from the assembly name. - - - - - - - - - - Values should be in the format ResourceName,StringName, where ResourceName - is the name of the embedded resource in your assembly sans the ".resources" extension, and StringName - is the name of the string resource in the embedded resource. - - - Example: UtilityMshSnapInResources,Description - - - - - - - - - Values of this type will look like: "x", "x.x", "x.x.x", or "x.x.x.x" where x is an integer from 0 to 65534. - - - - - - - diff --git a/src/Schemas/v4/schemas/sql4.xsd b/src/Schemas/v4/schemas/sql4.xsd deleted file mode 100644 index 161607c..0000000 --- a/src/Schemas/v4/schemas/sql4.xsd +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset SQL Server Extension. - - - - - - - - - - - - - - - Nesting SqlDatabase under a Component element will result in a SqlDatabase being installed to the machine as the package is installed. - - Nesting SqlDatabase under Product, Fragment, or Module - results in a database "locator" record being created in - the SqlDatabase table. This means that the database - itself is neither installed nor uninstalled by the MSI - package. It does make the database available for referencing - from a SqlString or SqlScript record. This allows MSI to install - SqlScripts or SqlStrings to already existing databases on the machine. - The install will fail if the database does not exist in these cases. - - - The User attribute references credentials specified in a User element. - If a user is not specified then Windows Authentication will be used by default - using the credentials of the user performing the install to execute sql - strings, etc. - - - - - - SQL Database - - - - - - - - - - - - - - - - - - - The name of the database. The value can be a literal value or derived from a - Property element using the Formatted - syntax. - - - - - - - - - - - Specifies whether to create the database when the associated component is reinstalled. Setting CreateOnInstall to yes does not imply CreateOnReinstall is set to yes. CreateOnReinstall must be set in addition to CreateOnInstall for it to be created during both install and reinstall. - - - - - - - - - - - Specifies whether to drop the database when the associated component is reinstalled. Setting DropOnInstall to yes does not imply DropOnReinstall is set to yes. DropOnReinstall must be set in addition to DropOnInstall for it to be dropped during both install and reinstall. - - - - - - - - - - - - - - - File specification for a Sql database. - - - - - ID of the file specification. - - - - - Specifies the logical name for the database file. - - - - - Specifies the operating-system file name for the database file. - - - - - - Specifies the size of the database file. The GB, MB and KB suffixes can be used to specify gigabytes, - megabytes or kilobytes. The default is megabytes if no suffix is specified. When a Size is not - supplied for a database file, SQL Server uses the size of the primary file in the model database. - - - - - - - Specifies the maximum size to which the database file can grow. The GB, MB and KB suffixes can be used to - to specify gigabytes, megabytes or kilobytes. The default is megabytes if no suffix is specified. If - MaxSize is not specified, the file will grow until the disk is full. - - - - - - - Specifies the growth increment of the database file. The GB, MB and KB and % suffixes can be used to - specify gigabytes, megabytes, kilobytes or a percentage of the current file size to grow. The default is - megabytes if no suffix is specified. The default value is 10% if GrowthSize is not specified, and the - minimum value is 64 KB. The GrowthSize setting for a file cannot exceed the MaxSize setting. - - - - - - - - - File specification for a Sql database. - - - - - ID of the log file specification. - - - - - Specifies the logical name for the log file. - - - - - Specifies the operating-system file name for the log file. - - - - - - Specifies the size of the log file. The GB, MB and KB suffixes can be used to specify gigabytes, - megabytes or kilobytes. The default is megabytes if no suffix is specified. When a Size is not - supplied for a log file, SQL Server makes the file 1 MB. - - - - - - - Specifies the maximum size to which the log file can grow. The GB, MB and KB suffixes can be used to - to specify gigabytes, megabytes or kilobytes. The default is megabytes if no suffix is specified. If - MaxSize is not specified, the file will grow until the disk is full. - - - - - - - Specifies the growth increment of the log file. The GB, MB and KB and % suffixes can be used to - specify gigabytes, megabytes, kilobytes or a percentage of the current file size to grow. The default is - megabytes if no suffix is specified. The default value is 10% if GrowthSize is not specified, and the - minimum value is 64 KB. The GrowthSize setting for a file cannot exceed the MaxSize setting. - - - - - - - - - - - - SQL Script - - - - - - required when not child of SqlDatabase - - - - - - - Reference to Binary stream that contains the SQL script to execute. - - - - - Specifies to execute the script when the associated component is installed. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - Specifies whether to execute the script when the associated component is reinstalled. Setting ExecuteOnInstall to yes does not imply ExecuteOnReinstall is set to yes. ExecuteOnReinstall must be set in addition to ExecuteOnInstall for it to be executed during both install and reinstall. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - Specifies to execute the script when the associated component is uninstalled. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - Specifies whether to execute the script on rollback if an attempt is made to install the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Specifies whether to execute the script on rollback if an attempt is made to reinstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Specifies whether to execute the script on rollback if an attempt is made to uninstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Continue executing scripts even if this one fails. - - - - - Specifes the order to run the SQL Scripts. It is recommended that rollback scripts be scheduled before their complementary execution script. This order is also relative across the SqlString element. - - - - - - - - - - - SQL String - - - - - - - - - - - - - Specifies to execute the string when the associated component is installed. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - - Specifies whether to execute the string when the associated component is reinstalled. Setting ExecuteOnInstall to yes does not imply ExecuteOnReinstall is set to yes. ExecuteOnReinstall must be set in addition to ExecuteOnInstall for it to be executed during both install and reinstall. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - - Specifies to execute the string when the associated component is uninstalled. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - Specifies whether to execute the string on rollback if an attempt is made to install the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Specifies whether to execute the string on rollback if an attempt is made to reinstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Specifies whether to execute the string on rollback if an attempt is made to uninstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Continue executing strings even if this one fails. - - - - - Specifes the order to run the SQL Strings. It is recommended that rollback strings be scheduled before their complementary execution string. This order is also relative across the SqlScript element. - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - diff --git a/src/Schemas/v4/schemas/tag4.xsd b/src/Schemas/v4/schemas/tag4.xsd deleted file mode 100644 index 6c69a07..0000000 --- a/src/Schemas/v4/schemas/tag4.xsd +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Software Id Tag Extension. - - - - - - - - - This extension implements the ISO/IEC 19770-2 specification. A SWID tag file - will be generated an inserted into the Product or Bundle. - - - - - - - - - - - Name to use in the filename for the software id tag. By default the filename - uses the Bundle/@Name or Product/@Name. If the bundle name or product name contains - invalid filename characters such as ":" or "?", use this attribute to provide - a valid filename. - - - - - - - The regid for the software id tag. A regid follows the format: "regid" + "." - + YYYY-MM + "." + reverse domain order. The YYYY-MM is the year and month the - domain was first owned. For example: "regid.1995-08.com.example". - - - - - - Optional attribute to explicitly set the Feature when defining the software id tag - in a Product. By default the software id tag will always be installed by a top-level hidden feature. - It is recommended to not set this attribute. - - - - - Indicates whether the software requires a license. The default is - "no". - - - - - - Defines the type of software tag being defined. One of the following values may be used: "group", - "application", "patch", or "component". The default is "application" when the Tag element is a child of - the Product element. The default is "group" or "application" when the Tag element is under a Bundle element - based on the contents of the bundle's chain. The Bundle/Tag@Type will be "application" unless there are one - or more packages that define a software Tag@Type of "application" or "group". - - - - - - - - - - Allows an ISO/IEC 19770-2 SWID tag file to be referenced in a Patch. - - - - - - - - - - The regid for the software id tag. A regid follows the format: "regid" + "." - + YYYY-MM + "." + reverse domain order. The YYYY-MM is the year and month the - domain was first owned. For example: "regid.1995-08.com.example". - - - - - - - - - Values of this type will be "application", "component", "feature", "group", or "patch". - - - - - - - Values of this type will be "application", "component", "feature", "group", or "patch". - - - - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - - A type that represents that 1 or more preprocessor variables (as they appear in sources on disk, before preprocessor has run). - - - - - - diff --git a/src/Schemas/v4/schemas/thmutil4.xsd b/src/Schemas/v4/schemas/thmutil4.xsd deleted file mode 100644 index ccf951c..0000000 --- a/src/Schemas/v4/schemas/thmutil4.xsd +++ /dev/null @@ -1,1188 +0,0 @@ - - - - - - - - Schema for describing Theme files processed by thmutil. - - - - - - - - - This is the top-level container element for every thmutil Theme file. - - - - - - - - - - - Relative path to an image file that can serve as a single source for images in the rest of the theme. - This image is referenced by controls using the SourceX and SourceY attributes. - Mutually exclusive with the ImageResource attribute. - - - - - - - Identifier that references an image resource in the module for the window. - Mutually exclusive with the ImageFile attribute. - - - - - - - - - Defines a font including the size and color. - - - - - - Name of the font face (required). - - - - Numeric identifier for the font. Due to limitations in thmutil the first Font must start with "0" and each subsequent Font must increment the Id by 1. Failure to ensure the Font identifiers follow this strict ordering will create unexpected behavior or crashes. - - - - - Font size. Use negative numbers to specify the font in pixels. - - - - - Font weight. - - - - - - A system color id or a hexadecimal value representing BGR foreground color of the font. - "ffffff" is white, "ff0000" is pure blue, "00ff00" is pure green, "0000ff" is pure red, and "000000" is black. - If this attribute is absent the foreground will be transparent. - Supported system color ids are: btnface, btntext, graytext, highlight, highlighttext, hotlight, window, and windowtext. - - - - - - - A system color id or a hexadecimal value representing BGR background color of the font. - "ffffff" is white, "ff0000" is pure blue, "00ff00" is pure green, "0000ff" is pure red, and "000000" is black. - If this attribute is absent the background will be transparent. - Supported system color ids are: btnface, btntext, graytext, highlight, highlighttext, hotlight, window, and windowtext. - - - - - - Specifies whether the font is underlined. - - - - - - - - - - List of images which can be shared between multiple controls. - - - - - - - - - Name of the ImageList, to be referenced by other controls. - - - - - - - - - Named set of controls that can be shown and hidden collectively. - - - - - - - Optional name for the page. - - - - - - - - - Defines the overall look of the main window. - - - - - - - - - - Specifies whether the ThmUtil default window proc should process WM_SIZE and WM_SIZING events. - - - - - - Caption for the window. - This is required if not using the StringId attribute. - - - - - - Numeric identifier to the Font element that serves as the default font for the window. - - - - - Height of the window. - - - - - - Hexadecimal window style. If this is not specified the default value is: WS_OVERLAPPED | WS_VISIBLE | WS_MINIMIZEBOX | WS_SYSMENU. - If SourceX and SourceY are specified, then WS_OVERLAPPED is replaced with WS_POPUP. - - - - - - Relative path to an icon file for the window. Mutually exclusive with IconResource and SourceX and SourceY attributes. - - - - - - Identifier that references an icon resource in the module for the icon for the window. - Mutually exclusive with IconFile and SourceX and SourceY attributes. - - - - - - Minimum height of the window. Only functions if AutoResize is enabled. - - - - - Minimum width of the window. Only functions if AutoResize is enabled. - - - - - X offset of the window background in the Theme/@ImageFile. Mutually exclusive with IconFile and IconResource. - - - - - Y offset of the window background in the Theme/@ImageFile. Mutually exclusive with IconFile and IconResource. - - - - - - Identifier that references a string resource in the module to define the window caption. - Mutually exclusive with the Caption attribute. - - - - - - Width of the window. - - - - - - - - Defines a control that rotates through a set of images on a specified interval. - - - - - - - - - - Specifies the time to wait before showing the next image, in milliseconds. - - - - - - Specifies whether the billboard should loop through the images infinitely. - - - - - - - - Defines a button. - - - - - Text to display in the button. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - If multiple Action elements are given, the conditions should be mutually exclusive (when multiple conditions are true, the behavior is undefined and could be changed at any time). - If none of the conditions of the Action elements are true, then it uses the Action element without the Condition attribute. - - - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. Only valid when using graphic buttons. - - - - - Numeric identifier to the Font element that serves as the font when the control is hovered over. Only valid when using graphic buttons. - - - - - - Relative path to an image file to define a graphic button. - The image must be 4x the height to represent the button in 4 states: unselected, hover, selected, focused. - Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - - - Identifier that references an image resource in the module to define a graphic button. - The image must be 4x the height to represent the button in 4 states: unselected, hover, selected, focused. - Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - Numeric identifier to the Font element that serves as the font when the control is selected. Only valid when using graphic buttons. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - - When the button is pressed, a directory browser dialog is shown. - - - - - - - The condition that determines if the parent control will execute this action. - - - - - - - The name of the variable to update when the user selects a directory from the dialog. - - - - - - - - - - When the button is pressed, the specified page is shown. - - - - - - - When set to 'yes', none of the variable changes made on the current page are saved. - - - - - - - The condition that determines if the parent control will execute this action. - - - - - - - The Name of the Page to show. - - - - - - - - - - When the button is pressed, the WM_CLOSE message is sent to the window. - - - - - - - The condition that determines if the parent control will execute this action. - - - - - - - - - Defines a checkbox. - - - - - Text to display beside the checkbox. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - Defines a combobox. - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - - - Defines a button. - - - - - Text to display in the button. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - If multiple Action elements are given, the conditions should be mutually exclusive (when multiple conditions are true, the behavior is undefined and could be changed at any time). - If none of the conditions of the Action elements are true, then it uses the Action element without the Condition attribute. - - - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. Only valid when using graphic buttons. - - - - - - Relative path to an icon file to define a command link glyph. - Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - - - Identifier that references an icon resource in the module to define a command link glyph. - Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - - Relative path to an image file to define a command link glyph. - Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - - - Identifier that references an image resource in the module to define a command link glyph. - Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - Defines an edit box. - - - - - - - Initial text for the control. - Mutually exclusive with the StringId attribute. - - - - - - Specifies whether the edit box should auto-complete with file system paths. - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the initial text for the control. - - - - - - - - - - - Defines a hyperlink. - - - - - Text to display as the link. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Numeric identifier to the Font element that serves as the unselected font. - - - - - Numeric identifier to the Font element that serves as the font when the control is hovered over. - - - - - Numeric identifier to the Font element that serves as the font when the control is selected. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - Defines a text block with support for HTML <a> tags. - - - - - Text to display as the link. - Use HTML <a href="URL"> to create a link. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - Defines an image for an ImageList or Billboard. - - - - - Relative path to an image file. Mutually exclusive with ImageResource. - - - - - Identifier that references an image resource in the module. Mutually exclusive with ImageFile. - - - - - - - - Defines an image. - - - - - - Relative path to an image file. Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - Identifier that references an image resource in the module. Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - - - Defines a label. - - - - - Text for the label to display. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Specifies whether the text should be centered horizontally in the width of the control. Default is "no". - - - - - By default ampersands (&) in the text will underline the next character and treat it as an accelerator key. Set this attribute to "yes" to disable that behavior. Default is "no". - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the text for the label. - - - - - - - - - Defines a listview. - - - - - - - - - Numeric identifier to the Font element that serves as the default font for the ListView. - - - - - Hexadecimal extended window style. - - - - - - The name of the ImageList to assign to this listview with type LVSIL_NORMAL. - - - - - - - The name of the ImageList to assign to this listview with type LVSIL_SMALL. - - - - - - - The name of the ImageList to assign to this listview with type LVSIL_STATE. - - - - - - - The name of the ImageList to assign to this listview with type LVSIL_GROUPHEADER. - - - - - - - - - - Defines note text for a command link control based on an optional condition. - If multiple Note elements are given for one control, the conditions should be mutually exclusive (when multiple conditions are true, the behavior is undefined and may be changed at any time). - If none of the conditions of a control's Note elements are true, then it uses the text of the Note element without the Condition attribute. - - - - - - - - Note text for the parent command link control. - - - - - - The condition that determines when the parent control will use this note text. - - - - - - - - - - - Defines a collection of controls. - - - - - - - - - - Defines a progress bar. - - - - - - Relative path to an image file for the control. The image must be 4 pixels wide: left pixel is the left side of progress bar, left middle pixel is progress used, right middle pixel is progress unused, right pixel is right side of progress bar. Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - Identifier that references an image resource in the module for the control. The image must be 4 pixels wide: left pixel is the left side of progress bar, left middle pixel is progress used, right middle pixel is progress unused, right pixel is right side of progress bar. Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - - - Defines an individual radio button within a set of radio buttons. - - - - - Text to display beside the radio button. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - Optional value used when setting the variable associated with the set of radio buttons. - - - - - - - - Defines a set of radio buttons. - - - - - - - - Optional variable name for the set of radio buttons. - - - - - - - - Defines a rich edit control. - - - - - Initial text for the control. - Mutually exclusive with the StringId attribute. - - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - - Identifier that references a string resource in the module to define the initial text for the control. - - - - - - - - - Defines a straight line. - - - - - - - - - Defines an individual tab within a set of tabs. - - - - - - - Caption of the tab. - Mutually exclusive with the StringId attribute. - - - - - - Identifier that references a string resource in the module to define the caption of the tab. - - - - - - - - - - - Defines a set of tabs. - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - - - - Defines text for the parent control based on an optional condition. - If multiple Text elements are given for one control, the conditions should be mutually exclusive (when multiple conditions are true, the behavior is undefined and may be changed at any time). - If none of the conditions of a control's Text elements are true, then it uses the text of the Text element without the Condition attribute. - - - - - - - - Text for the parent control. - - - - - - The condition that determines when the parent control will use this text. - - - - - - - - - - - - Defines text for the parent control's tooltip. - - - - - - - - Text for the parent control's tooltip. - - - - - - - - - - Defines a treeview. - - - - - - Specifies whether the row always appears selected even when the treeview has lost focus. - - - - - Specifies whether drag and drop is enabled for the treeview. - - - - - Specifies whether an entire row is selected for the treeview. - - - - - Specifies whether the treeview will show buttons. - - - - - Specifies whether lines appear for all treeview items. - - - - - Specifies whether the root nodes have lines beside them. - - - - - - - - A column of a list. - - - - - - - Text for the column header. - Mutually exclusive with the StringId attribute. - - - - - Width of the column. - - - - - - Whether or not this column can grow to fill available width of the listview. - More than one column can be marked with yes - all expandable columns will share available extra space. - This is especially useful if the Window/@AutoResize is yes. - - - - - - - Identifier that references a string resource in the module to define the text for the column header. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Optional name for the control. - - - - - Set to 'yes' to disable automatic variable getting and setting, EnableCondition, VisibleCondition, and conditional Text elements. The default is 'no'. - - - - - A condition that determines if the control is enabled. If this condition is true or omitted, then the control will be enabled. - - - - - Height of the control. Non-positive values extend the control to the bottom of the window minus the value. - - - - - Hexadecimal window style for the control. - - - - - Specifies whether the control should be hidden when disabled. - - - - - Specifies whether the control is part of the tab sequence of controls. - - - - - Specifies whether the control is initially visible. - - - - - - A condition that determines if the control is visible. If this condition is true or omitted, then the control will be visible. - - - - - - Width of the control. Non-positive values extend the control to the right of the window minus the value. - - - - - X coordinate for the control from the left of the window. Negative values are coordinates from the right of the window minus the width of the control. - - - - - Y coordinate for the control from the top of the window. Negative values are coordinates from the bottom of the window minus the height of the control. - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - - - Indicates a system color for a font. - - - - - - - - - - - - - - - - - - Indicates the foreground or background color of a font. - - - - - diff --git a/src/Schemas/v4/schemas/util4.xsd b/src/Schemas/v4/schemas/util4.xsd deleted file mode 100644 index b7c85a8..0000000 --- a/src/Schemas/v4/schemas/util4.xsd +++ /dev/null @@ -1,1676 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Utility Extension. - - - - - - - - - - - Closes applications or schedules a reboot if application cannot be closed. - - - - - - - Condition that determines if the application should be closed. Must be blank or evaluate to true - for the application to be scheduled for closing. - - - - - Identifier for the close application (primary key). If the Id is not specified, one will be generated. - - - - - Name of the exectuable to be closed. This should only be the file name. - - - - - Description to show if application is running and needs to be closed. - - - - - Optionally orders the applications to be closed. - - - - - Optionally sends a close message to the application. Default is no. - - - - - Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application. Default is "no". - - - - - Optionally sends a close message to the application from deffered action without impersonation. Default is no. - - - - - Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application from a deffered action without impersonation. Default is "no". - - - - - Optionally prompts for reboot if application is still running. The default is "yes". The TerminateProcess attribute must be "no" or not specified if this attribute is "yes". - - - - - - When this attribute is set to "yes", the user will be prompted when the application is still running. The Description attribute must contain the message to - display in the prompt. The prompt occurs before executing any of the other options and gives the options to "Abort", "Retry", or "Ignore". Abort will cancel - the install. Retry will attempt the check again and if the application is still running, prompt again. "Ignore" will continue and execute any other options - set on the CloseApplication element. The default is "no". - - - - - - Property to be set if application is still running. Useful for launch conditions or to conditionalize custom UI to ask user to shut down apps. - - - - - - Attempts to terminates process and return the specified exit code if application is still running after sending any requested close and/or end session messages. - If this attribute is specified, the RebootPrompt attribute must be "no". The default is "no". - - - - - - - Optional time in seconds to wait for the application to exit after the close and/or end session messages. If the application is still running after the timeout then - the RebootPrompt or TerminateProcess attributes will be considered. The default value is "5" seconds. - - - - - - - - - - Describes a component search. - - - - - - - - - - Component to search for. - - - - - Optional ProductCode to determine if the component is installed. - - - - - - Rather than saving the matching key path into the variable, a ComponentSearch can save an attribute of the component instead. - - - - - - - Saves the parent directory for the component's file key path; other types of key path are returned unmodified. - - - - - Saves the state of the component: absent (2), locally installed (3), will run from source (4), or installed in default location (either local or from source) (5) - - - - - Saves the key path of the component if installed. This is the default. - - - - - - - - - - References a ComponentSearch. - - - - - - - - - - - - Describes a directory search. - - - - - - - - - - Directory path to search for. - - - - - - Rather than saving the matching directory path into the variable, a DirectorySearch can save an - attribute of the matching directory instead. - - - - - - - Saves true if a matching directory is found; false otherwise. - - - - - - - - - - References a DirectorySearch. - - - - - - - - - - - - - - - Creates an event source. - - - - - - The number of categories in CategoryMessageFile. CategoryMessageFile - must be specified too. - - - - - - - Name of the category message file. CategoryCount must be specified too. - Note that this is a formatted field, so you can use [#fileId] syntax to - refer to a file being installed. It is also written as a REG_EXPAND_SZ - string, so you can use %environment_variable% syntax to refer to a file - already present on the user's machine. - - - - - - - Name of the event message file. - Note that this is a formatted field, so you can use [#fileId] syntax to - refer to a file being installed. It is also written as a REG_EXPAND_SZ - string, so you can use %environment_variable% syntax to refer to a file - already present on the user's machine. - - - - - - - Marks the EventSource registry as the key path of the component it belongs to. - - - - - - Name of the event source's log. - - - - - Name of the event source. - - - - - - Name of the parameter message file. - Note that this is a formatted field, so you can use [#fileId] syntax to - refer to a file being installed. It is also written as a REG_EXPAND_SZ - string, so you can use %environment_variable% syntax to refer to a file - already present on the user's machine. - - - - - - - Equivalent to EVENTLOG_ERROR_TYPE. - - - - - - - Equivalent to EVENTLOG_AUDIT_FAILURE. - - - - - - - Equivalent to EVENTLOG_INFORMATION_TYPE. - - - - - - - Equivalent to EVENTLOG_AUDIT_SUCCESS. - - - - - - - Equivalent to EVENTLOG_WARNING_TYPE. - - - - - - - - Describes a file search. - - - - - - - - - - File path to search for. - - - - - - Rather than saving the matching file path into the variable, a FileSearch can save an attribute of the matching file instead. - - - - - - - Saves true if a matching file is found; false otherwise. - - - - - Saves the version information for files that have it (.exe, .dll); zero-version (0.0.0.0) otherwise. - - - - - - - - - - References a FileSearch. - - - - - - - - - - - - - - - Creates a file share out of the component's directory. - - - - - - ACL permission - - - - - - Identifier for the file share (primary key). - - - - - Name of the file share. - - - - - Description of the file share. - - - - - - - - Sets ACLs on a FileShare. This element has no Id attribute. - The table and key are taken from the parent element. - - - - - - - - - - - - - - - - - - - - For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. - - - - - - - - - specifying this will fail to grant read access - - - - - - - - - - - Formats a file's contents at install time. The contents are formatted according to the rules of the - Formatted data type. - - - - - - - The id of a Binary row that contains a copy of the file. The file in the Binary table overwrites whatever - file is installed by the parent component. - - - - - - - - - - - - - - Finds user groups on the local machine or specified Active Directory domain. The local machine will be - searched for the group first then fallback to looking in Active Directory. This element is not capable - of creating new groups but can be used to add new or existing users to an existing group. - - - - - - Unique identifier in your installation package for this group. - - - - - A Formatted string that contains the name of the group to be found. - - - - - An optional Formatted string that specifies the domain for the group. - - - - - - - Used to join a user to a group - - - - - - - - - - How To: Create a shortcut to a webpage - - Creates a shortcut to a URL. - - - - - Unique identifier in your installation package for this Internet shortcut. - - - - - Identifier reference to Directory element where shortcut is to be created. This attribute's value defaults to the parent Component directory. - - - - - - The name of the shortcut file, which is visible to the user. (The .lnk - extension is added automatically and by default, is not shown to the user.) - - - - - - - URL that should be opened when the user selects the shortcut. Windows - opens the URL in the appropriate handler for the protocol specified - in the URL. Note that this is a formatted field, so you can use - [#fileId] syntax to refer to a file being installed (using the file: - protocol). - - - - - - Which type of shortcut should be created. - - - - - - Creates .url files using IUniformResourceLocatorW. - - - - - Creates .lnk files using IShellLinkW (default). - - - - - - - - - - - - - Used to create performance categories and configure performance counters. - - - - - - - - Unique identifier in your installation package for this performance counter category. - - - - - Name for the performance counter category. If this attribute is not provided the Id attribute is used as the name of the performance counter category. - - - - - Optional help text for the performance counter category. - - - - - Flag that specifies whether the performance counter category is multi or single instanced. Default is single instance. - - - - - DLL that contains the performance counter. The default is "netfxperf.dll" which should be used for all managed code performance counters. - - - - - Function entry point in to the Library DLL called when opening the performance counter. The default is "OpenPerformanceData" which should be used for all managed code performance counters. - - - - - Function entry point in to the Library DLL called when closing the performance counter. The default is "ClosePerformanceData" which should be used for all managed code performance counters. - - - - - Function entry point in to the Library DLL called when collecting data from the performance counter. The default is "CollectPerformanceData" which should be used for all managed code performance counters. - - - - - Default language for the performance category and contained counters' names and help text. - - - - - - - Creates a performance counter in a performance category. - - - - - Name for the performance counter. - - - - - Optional help text for the performance counter. - - - - - Type of the performance counter. - - - - - Language for the peformance counter name and help. The default is to use the parent PerformanceCategory element's DefaultLanguage attribute. - - - - - - - - - - - Used to install Perfmon counters. - - - - - - - - - - - - Used to install Perfmon Counter Manifests. - Note that this functionality cannot be used with major upgrades that are scheduled after the InstallExecute, - InstallExecuteAgain, or InstallFinalize actions. For more information on major upgrade scheduling, see - RemoveExistingProducts Action. - - - - - - The directory that holds the resource file of the providers in the perfmon counter manifest. Often the resource file path cannot be determined until setup time. Put the directory here and during perfmon manifest registrtion the path will be updated in the registry. If not specified, Perfmon will look for the resource file in the same directory of the perfmon counter manifest file. - - - - - - - - - - Used to install Event Manifests. - - - - - The message file (including path) of all the providers in the event manifest. Often the message file path cannot be determined until setup time. Put your MessageFile here and the messageFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. - - - - - The parameter file (including path) of all the providers in the event manifest. Often the parameter file path cannot be determined until setup time. Put your ParameterFile here and the parameterFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. - - - - - The resource file (including path) of all the providers in the event manifest. Often the resource file path cannot be determined until setup time. Put your ResourceFile here and the resourceFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. - - - - - - - - Sets ACLs on File, Registry, CreateFolder, or ServiceInstall. When under a Registry element, this cannot be used - if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute. - The table and key are taken from the parent element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. - - - - - - - - - - - - - - - - - - - specifying this will fail to grant read access - - - - - - Required to call the QueryServiceConfig and QueryServiceConfig2 functions to query the service configuration. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ChangeServiceConfig or ChangeServiceConfig2 function to change the service configuration. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the QueryServiceStatus function to ask the service control manager about the status of the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the EnumDependentServices function to enumerate all the services dependent on the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the StartService function to start the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ControlService function to stop the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ControlService function to pause or continue the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ControlService function to ask the service to report its status immediately. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ControlService function to specify a user-defined control code. Only valid under a 'ServiceInstall' parent. - - - - - - - Describes a product search. - - - - - - - - - - The Guid attribute has been deprecated; use the ProductCode or UpgradeCode attribute instead. If this attribute is used, it is assumed to be a ProductCode. - - - - - The ProductCode to use for the search. This attribute must be omitted if UpgradeCode is specified. - - - - - The UpgradeCode to use for the search. This attribute must be omitted if ProductCode is specified. Note that if multiple products are found, the highest versioned product will be used for the result. - - - - - - Rather than saving the product version into the variable, a ProductSearch can save another attribute of the matching product instead. - - - - - - - Saves the version of a matching product if found; 0.0.0.0 otherwise. This is the default. - - - - - Saves the language of a matching product if found; empty otherwise. - - - - - Saves the state of the product: advertised (1), absent (2), or locally installed (5). - - - - - Saves the assignment type of the product: per-user (0), or per-machine (1). - - - - - - - - - - References a ProductSearch. - - - - - - - - - - - - - - - - The custom action that implements RemoveFolderEx does so by writing temporary rows to the RemoveFile table - for each subfolder of the root folder you specify. Because it might dramatically affect Windows Installer's - File Costing, - the temporary rows must be written before the CostInitialize standard action. Unfortunately, MSI doesn't - create properties for the Directory hierarchy in your package until later, in the CostFinalize action. - An easy workaround for a typical use case of removing a folder during uninstall is to write the directory - path to the registry and to load it during uninstall. See - The WiX toolset's "Remember Property" pattern - for an example. - If you use custom actions to set properties, ensure that they are scheduled before the WixRemoveFoldersEx custom action. - - - - Remove a folder and all contained files and folders if the parent component is selected for installation or removal. - The folder must be specified in the Property attribute as the name of a property that will have a value that resolves - to the full path of the folder before the CostInitialize action. Note that Directory ids cannot be used. - For more details, see the Remarks. - - - - - - Primary key used to identify this particular entry. If this is not specified, a stable identifier - will be generated at compile time based on the other attributes. - - - - - - The id of a property that resolves to the full path of the source directory. The property does not have - to exist in the installer database at creation time; it could be created at installation time by a custom - action, on the command line, etc. The property value can contain environment variables surrounded by - percent signs such as from a REG_EXPAND_SZ registry value; environment variables will be expanded before - being evaluated for a full path. - - - - - - - This value determines when the folder may be removed. - - - - - - - - Removes the folder only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource). - - - - - - - Default: Removes the folder only when the parent component is being removed (msiInstallStateAbsent). - - - - - - - Removes the folder when the parent component is being installed or removed. - - - - - - - - - - - Registers a resource with the Restart Manager. - - - - - - - - - - - The unique identifier for this resource. A unique identifier will - be generated automatically if not specified. - - - - - The full path to the process module to register with the Restart Manager. - This can be a formatted value that resolves to a full path. - - - - - The name of a process to register with the Restart Manager. - This can be a formatted value that resolves to a process name. - - - - - The name of a Windows service to register with the Restart Manager. - This can be a formatted value that resolves to a service name. - - - - - - - Describes a registry search. - - - - - - - - - - Registry root hive to search under. - - - - - - HKEY_LOCAL_MACHINE - - - - - HKEY_CURRENT_USER - - - - - HKEY_CLASSES_ROOT - - - - - HKEY_USERS - - - - - - - - Key to search for. - - - - - Optional value to search for under the given Key. - - - - - What format to return the value in. - - - - - - Returns the unformatted value directly from the registry. For example, a REG_DWORD value of '1' is returned as '1', not '#1'. - - - - - Returns the value formatted as Windows Installer would. For example, a REG_DWORD value of '1' is returned as '#1', not '1'. - - - - - - - - Whether to expand any environment variables in REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ values. - - - - - - Rather than saving the matching registry value into the variable, a RegistrySearch can save an attribute of the matching entry instead. - - - - - - - Saves true if a matching registry entry is found; false otherwise. - - - - - Saves the value of the registry key in the variable. This is the default. - - - - - - - - Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. The default value is 'no'. - - - - - - - References a RegistrySearch. - - - - - - - - - - - - Service configuration information for failure actions. - - - - - - Nesting a ServiceConfig element under a ServiceInstall element will result in the service being installed to be configured. - Nesting a ServiceConfig element under a component element will result in an already installed service to be configured. If the service does not exist prior to the install of the MSI package, the install will fail. - - - - - - - - Required if not under a ServiceInstall element. - - - - - Action to take on the first failure of the service. - - - - - - - - - - - - - Action to take on the second failure of the service. - - - - - - - - - - - - - Action to take on the third failure of the service. - - - - - - - - - - - - - Number of days after which to reset the failure count to zero if there are no failures. - - - - - If any of the three *ActionType attributes is "restart", this specifies the number of seconds to wait before doing so. - - - - - If any of the three *ActionType attributes is "runCommand", this specifies the command to run when doing so. This value is formatted. - - - - - If any of the three *ActionType attributes is "reboot", this specifies the message to broadcast to server users before doing so. - - - - - - - Updates the last modified date/time of a file. - - - - - - - - Identifier for the touch file operation. If the identifier is not specified it will be generated. - - - - - Path of the file to update. This value is formatted. - - - - - Specifies whether or not the modified time of the file should be updated on install. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'yes'. - - - - - Specifies whether or not the modified time of the file should be updated on reinstall. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'yes'. - - - - - Specifies whether or not the modified time of the file should be updated on uninstall. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'no'. - - - - - Indicates the installation will succeed even if the modified time of the file cannot be updated. The default is 'no'. - - - - - - - User for all kinds of things. When it is not nested under a component it is included in the MSI so it can be referenced by other elements such as the User attribute in the AppPool element. When it is nested under a Component element, the User will be created on install and can also be used for reference. - - - - - - - - - - - - - - - - - A Formatted string that contains the name of the user account. - - - - - A Formatted string that contains the local machine or Active Directory domain for the user. - - - - - Usually a Property that is passed in on the command-line to keep it more secure. - - - - - The account's password never expires. Equivalent to UF_DONT_EXPIRE_PASSWD. - - - - - The user cannot change the account's password. Equivalent to UF_PASSWD_CANT_CHANGE. - - - - - Indicates whether the user account should be removed or left behind on uninstall. - - - - - Indicates if the install should fail if the user already exists. - - - - - Indicates whether or not the user can logon as a serivce. User creation can be skipped if all that is desired is to set this access right on the user. - - - - - Indicates whether or not the user can logon as a batch job. User creation can be skipped if all that is desired is to set this access right on the user. - - - - - Indicates if the user account properties should be updated if the user already exists. - - - - - Indicates whether the user must change their password on their first login. - - - - - The account is disabled. Equivalent to UF_ACCOUNTDISABLE. - - - - - Indicates whether or not to create the user. User creation can be skipped if all that is desired is to join a user to groups. - - - - - Indicates whether failure to create the user or add the user to a group fails the installation. The default value is "yes". - - - - - - - - Adds or removes .xml file entries. If you use the XmlFile element you must reference WixUtilExtension.dll as it contains the XmlFile custom actions. - - - - - - - - - Identifier for xml file modification. - - - - - The XPath of the element to be modified. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. - - - - - Path of the .xml file to configure. - - - - - Name of XML node to set/add to the specified element. Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set. - - - - - - The value to be written. See the Formatted topic for information how to escape square brackets in the value. - - - - - - The type of modification to be made to the XML file when the component is installed. - - - - - - Creates a new element under the element specified in ElementPath. The Name attribute is required in this case and specifies the name of the new element. The Value attribute is not necessary when createElement is specified as the action. If the Value attribute is set, it will cause the new element's text value to be set. - - - - - Deletes a value from the element specified in the ElementPath. If Name is specified, the attribute with that name is deleted. If Name is not specified, the text value of the element specified in the ElementPath is deleted. The Value attribute is ignored if deleteValue is the action specified. - - - - - Sets a value in the element specified in the ElementPath. If Name is specified, and attribute with that name is set to the value specified in Value. If Name is not specified, the text value of the element is set. Value is a required attribute if setValue is the action specified. - - - - - Sets all the values in the elements that match the ElementPath. If Name is specified, attributes with that name are set to the same value specified in Value. If Name is not specified, the text values of the elements are set. Value is a required attribute if setBulkValue is the action specified. - - - - - - - - Specifies whether or not the modification should be removed on uninstall. This has no effect on uninstall if the action was deleteValue. - - - - - Specifies wheter or not the modification should preserve the modified date. Preserving the modified date will allow the file to be patched if no other modifications have been made. - - - - - Specifies the order in which the modification is to be attempted on the XML file. It is important to ensure that new elements are created before you attempt to add an attribute to them. - - - - - - Specify whether the DOM object should use XPath language or the old XSLPattern language (default) as the query language. - - - - - - - - - - - - - - - Adds or removes .xml file entries. If you use the XmlConfig element you must reference WixUtilExtension.dll as it contains the XmlConfig custom actions. - - - - - - - - - - - - Identifier for xml file modification. - - - - - - - - - - - - - The Id of another XmlConfig to add attributes to. In this case, the 'ElementPath', 'Action', 'Node', and 'On' attributes must be omitted. - - - - - The XPath of the parent element being modified. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. - - - - - Path of the .xml file to configure. - - - - - Name of XML node to set/add to the specified element. Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set. - - - - - - - - - - - - - - - - - - - - - - Specifies wheter or not the modification should preserve the modified date. Preserving the modified date will allow the file to be patched if no other modifications have been made. - - - - - Specifies the order in which the modification is to be attempted on the XML file. It is important to ensure that new elements are created before you attempt to add an attribute to them. - - - - - - The value to be written. See the Formatted topic for information how to escape square brackets in the value. - - - - - - The XPath to the element being modified. This is required for 'delete' actions. For 'create' actions, VerifyPath is used to decide if the element already exists. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. - - - - - - - - Id of the search for ordering and dependency. - - - - - Name of the variable in which to place the result of the search. - - - - - Condition for evaluating the search. If this evaluates to false, the search is not executed at all. - - - - - Id of the search that this one should come after. - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - Enumeration of valid languages for performance counters. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Enumeration of valid types for performance counters. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Schemas/v4/schemas/vs4.xsd b/src/Schemas/v4/schemas/vs4.xsd deleted file mode 100644 index 5117292..0000000 --- a/src/Schemas/v4/schemas/vs4.xsd +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Visual Studio Extension. - - - - - - - Help Namespace for a help collection. The parent file is the key for the HxC (Collection) file. - - - - - - - - - - - - - Primary Key for HelpNamespace. - - - Friendly name for Namespace. - - - Internal Microsoft Help ID for this Namespace. - - - Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. - - - - - - - - Filter for Help Namespace. - - - - - - - - - - Primary Key for HelpFilter. - - - Query String for Help Filter. - - - Friendly name for Filter. - - - Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. - - - - - - - - File for Help Namespace. The parent file is the key for HxS (Title) file. - - - - - - - - Primary Key for HelpFile Table. - - - Key for HxR (Attributes) file. - - - Key for HxI (Index) file. - - - Language ID for content file. - - - Internal Microsoft Help ID for this HelpFile. - - - Key for a file that is in the "root" of the samples directory for this HelpFile. - - - Key for HxQ (Query) file. - - - Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. - - - - - - Plugin for Help Namespace. - - - Key for HxA (Attributes) file of child namespace. - - - Key for HxT file of child namespace. - - - - Foriegn Key into HelpNamespace table for the parent namespace into which the child will be inserted. - The following special keys can be used to plug into external namespaces defined outside of the installer. - MS_VSIPCC_v80 : Visual Studio 2005 - MS.VSIPCC.v90 : Visual Studio 2008 - - - - Key for HxT file of parent namespace that now includes the new child namespace. - - - Key for the feature parent of this help collection. Required only when plugging into external namespaces. - - - Suppress linking Visual Studio Help namespaces. Help redistributable merge modules will be required. Use this when building a merge module. - - - - - - Create a reference to a HelpFile element in another Fragment. - - - Primary Key for HelpFile Table. - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - Create a reference to a HelpFile element in another Fragment. - - - Primary Key for HelpFilter. - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a HelpCollection element in another Fragment. - - - - - - - - - - - - Primary Key for HelpNamespace Table. - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - This element provides the metdata required to install/uninstall a file as - a VSIX Package. The VSIX package file will be installed as part of the MSI - then passed to the VSIX installer to install the VSIX package. To avoid the - duplication, simply use the MSI to install the VSIX package itself. - - - - - - - - - - - Reference to file identifer. This attribute is required when the element is not a - child of a File element and is invalid when the element is a child of the File element. - - - - - - - Identity of the VSIX package per its internal manifest. If this value is not correct - the VSIX package will not correctly uninstall. - - - - - - - Indicates whether the VSIX package is uninstalled when the parent Component is uninstalled. - The default is 'no'. - - - - - - - Specifies the SKU of Visual Studio in which to register the extension. If no target - is specified the extension is registered with all installed SKUs. If the Target - attribute is specified the TargetVersion attribute must also be specified. The - following is a list of known Visual Studio targets: integratedShell, professional, - premium, ultimate, vbExpress, vcExpress, vcsExpress, vwdExpress - - - - - - - Specifies the version of Visual Studio in which to register the extension. This attribute - is required if the Target attribute is specified. - - - - - - - Indicates whether failure to install the VSIX package causes the installation to rollback. - The default is 'yes'. - - - - - - - Optional reference to a Property element that contains the path to the VsixInstaller.exe. - By default, the latest VsixInstaller.exe on the machine will be used to install the VSIX - package. It is highly recommended that this attribute is *not* used. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/src/Schemas/v4/schemas/wix4.xsd b/src/Schemas/v4/schemas/wix4.xsd deleted file mode 100644 index cff3c21..0000000 --- a/src/Schemas/v4/schemas/wix4.xsd +++ /dev/null @@ -1,13036 +0,0 @@ - - - - - - - - Schema for describing Windows Installer database files (.msi/.msm/.pcp). - - - - - - - - - - This is the top-level container element for every wxs file. Among the possible children, - the Bundle, Product, Module, Patch, and PatchCreation elements are analogous to the main function in a C program. - There can only be one of these present when linking occurs. Product compiles into an msi file, - Module compiles into an msm file, PatchCreation compiles into a pcp file. The Fragment element - is an atomic unit which ultimately links into either a Product, Module, or PatchCreation. The - Fragment can either be completely included or excluded during linking. - - - - - - - - - - - - - - - - - - Required version of the WiX toolset to compile this input file. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. - - - - - - - - - This is the top-level container element for every wxi file. - - - - - - - - - - - The root element for creating bundled packages. - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - A URL for more information about the bundle to display in Programs and Features (also - known as Add/Remove Programs). - - - - - - - The legal copyright found in the version resources of final bundle executable. If - this attribute is not provided the copyright will be set to "Copyright (c) [Bundle/@Manufacturer]. All rights reserved.". - - - - - - Whether Packages and Payloads not assigned to a container should be added to the default attached container or if they should be external. The default is yes. - - - - - - Determines whether the bundle can be modified via the Programs and Features (also known as - Add/Remove Programs). If the value is "button" then Programs and Features will show a single - "Uninstall/Change" button. If the value is "yes" then Programs and Features will only show - the "Uninstall" button". If the value is "no", the default, then a "Change" button is shown. - See the DisableRemove attribute for information how to not display the bundle in Programs - and Features. - - - - - - - Determines whether the bundle can be removed via the Programs and Features (also - known as Add/Remove Programs). If the value is "yes" then the "Uninstall" button will - not be displayed. The default is "no" which ensures there is an "Uninstall" button to - remove the bundle. If the "DisableModify" attribute is also "yes" or "button" then the - bundle will not be displayed in Progams and Features and another mechanism (such as - registering as a related bundle addon) must be used to ensure the bundle can be removed. - - - - - - - - - - - - - - A telephone number for help to display in Programs and Features (also known as - Add/Remove Programs). - - - - - - - A URL to the help for the bundle to display in Programs and Features (also known as - Add/Remove Programs). - - - - - - - Path to an icon that will replace the default icon in the final Bundle executable. - This icon will also be displayed in Programs and Features (also known as Add/Remove - Programs). - - - - - - - The publisher of the bundle to display in Programs and Features (also known as - Add/Remove Programs). - - - - - - - The name of the bundle to display in Programs and Features (also known as Add/Remove - Programs). This name can be accessed and overwritten by a BootstrapperApplication - using the WixBundleName bundle variable. - - - - - - - The name of the parent bundle to display in Installed Updates (also known as Add/Remove - Programs). This name is used to nest or group bundles that will appear as updates. - If the parent name does not actually exist, a virtual parent is created automatically. - - - - - - Path to a bitmap that will be shown as the bootstrapper application is being loaded. If this attribute is not specified, no splash screen will be displayed. - - - - - Set this string to uniquely identify this bundle to its own BA, and to related bundles. The value of this string only matters to the BA, and its value has no direct effect on engine functionality. - - - - - - A URL for updates of the bundle to display in Programs and Features (also - known as Add/Remove Programs). - - - - - - - Unique identifier for a family of bundles. If two bundles have the same UpgradeCode the - bundle with the highest version will be installed. - - - - - - - The version of the bundle. Newer versions upgrade earlier versions of the bundles - with matching UpgradeCodes. If the bundle is registered in Programs and Features - then this attribute will be displayed in the Programs and Features user interface. - - - - - - - The condition of the bundle. If the condition is not met, the bundle will - refuse to run. Conditions are checked before the bootstrapper application is loaded - (before detect), and thus can only reference built-in variables such as - variables which indicate the version of the OS. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Provides information about an .exe so that the BA can request the engine to run it elevated from any secure location. - - - - - - - - The identifier of the ApprovedExeForElevation element. - - - - - - The key path. - For security purposes, the root key will be HKLM and Variables are not supported. - - - - - - - The value name. - For security purposes, Variables are not supported. - - - - - - - Instructs the search to look in the 64-bit registry when the value is 'yes'. - When the value is 'no', the search looks in the 32-bit registry. - The default value is 'no'. - - - - - - - - Overrides the default log settings for a bundle. - - - - - - - - - Disables the default logging in the Bundle. The end user can still generate a - log file by specifying the "-l" command-line argument when installing the - Bundle. - - - - - - - Name of a Variable that will hold the path to the log file. An empty value - will cause the variable to not be set. The default is "WixBundleLog". - - - - - - - File name and optionally a relative path to use as the prefix for the log file. The - default is to use the Bundle/@Name or, if Bundle/@Name is not specified, the value - "Setup". - - - - - - The extension to use for the log. The default is ".log". - - - - - - - Specify one or more catalog files that will be used to verify the contents of the bundle. - - - - - - - - The identifier of the catalog element. - - - - - The catalog file - - - - - - - Contains all the relevant information about the setup UI. - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The identifier of the BootstrapperApplication element. Only required if you want to reference this element using a BootstrapperApplicationRef element. - - - - - The DLL with the bootstrapper application entry function. - - - - - The relative destination path and file name for the bootstrapper application DLL. The default is the source file name. Use this attribute to rename the bootstrapper application DLL or extract it into a subfolder. The use of '..' directories is not allowed. - - - - - - - Used to reference a BootstrapperApplication element and optionally add additional payloads to the bootstrapper application. - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The identifier of the BootstrapperApplication element to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - This element has been deprecated. Use the BootstrapperApplication element instead. - - - - - - - - - - - - - - See the BootstrapperApplication instead. - - - - - See the BootstrapperApplication instead. - - - - - See the BootstrapperApplication instead. - - - - - - - Writes additional information to the Windows registry that can be used to detect the bundle. - This registration is intended primarily for update to an existing product. - - - The attributes are used to write the following registry values to the key: - SOFTWARE\[Manufacturer]\Updates\[ProductFamily]\[Name] - - ThisVersionInstalled: Y - PackageName: >bundle name< - PackageVersion: >bundle version< - Publisher: [Manufacturer] - PublishingGroup: [Department] - ReleaseType: [Classification] - InstalledBy: [LogonUser] - InstalledDate: [Date] - InstallerName: >installer name< - InstallerVersion: >installer version< - - - - - - - - The name of the manufacturer. The default is the Bundle/@Manufacturer attribute, - but may also be a short form, ex: Acme instead of Acme Corporation. - An error is generated at build time if neither attribute is specified. - - - - - The name of the department or division publishing the update bundle. - The PublishingGroup registry value is not written if this attribute is not specified. - - - - - The name of the family of products being updated. The default is the Bundle/@ParentName attribute. - The corresponding registry key is not created if neither attribute is specified. - - - - - The name of the bundle. The default is the Bundle/@Name attribute, - but may also be a short form, ex: KB12345 instead of Update to Product (KB12345). - An error is generated at build time if neither attribute is specified. - - - - - The release type of the update bundle, such as Update, Security Update, Service Pack, etc. - The default value is Update. - - - - - - - Contains the chain of packages to install. - - - - - - - - - - - - - - - - - Specifies whether the bundle will attempt to rollback packages - executed in the chain. If "yes" is specified then when a vital - package fails to install only that package will rollback and the - chain will stop with the error. The default is "no" which - indicates all packages executed during the chain will be - rolledback to their previous state when a vital package fails. - - - - - - - Specifies whether the bundle will attempt to create a system - restore point when executing the chain. If "yes" is specified then - a system restore point will not be created. The default is "no" which - indicates a system restore point will be created when the bundle is - installed, uninstalled, repaired, modified, etc. If the system restore - point cannot be created, the bundle will log the issue and continue. - - - - - - - Specifies whether the bundle will start installing packages - while other packages are still being cached. If "yes", - packages will start executing when a rollback boundary is - encountered. The default is "no" which dictates all packages - must be cached before any packages will start to be installed. - - - - - - - - Describes a single msi package to install. - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the package identifier as the first value in - contextValues. - - - - - - - - - Specifies whether the bundle will show the UI authored into the msi package. The default is "no" - which means all information is routed to the bootstrapper application to provide a unified installation - experience. If "yes" is specified the UI authored into the msi package will be displayed on top of - any bootstrapper application UI. - - - - - - - Specifies whether the bundle will allow individual control over the installation state of Features inside - the msi package. Managing feature selection requires special care to ensure the install, modify, update and - uninstall behavior of the package is always correct. The default is "no". - - - - - - - Override the automatic per-machine detection of MSI packages and force the package to be per-machine. - The default is "no", which allows the tools to detect the expected value. - - - - - - - This attribute has been deprecated. When the value is "yes", the Binder will not read the MSI package - to detect uncompressed files that would otherwise be automatically included in the Bundle as Payloads. - The resulting Bundle may not be able to install the MSI package correctly. The default is "no". - - - - - - - Specifies whether the MSI will be displayed in Programs and Features (also known as Add/Remove Programs). If "yes" is - specified the MSI package information will be displayed in Programs and Features. The default "no" indicates the MSI - will not be displayed. - - - - - - - - Describes a single msp package to install. - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the package identifier as the first value in - contextValues. - - - - - - - - - Specifies whether the bundle will show the UI authored into the msp package. The default is "no" - which means all information is routed to the bootstrapper application to provide a unified installation - experience. If "yes" is specified the UI authored into the msp package will be displayed on top of - any bootstrapper application UI. - - - - - - Indicates the package must be executed elevated. The default is "no". - - - - - - Specifies whether to automatically slipstream the patch for any target msi packages in the chain. The default is "no". - Even when the value is "no", you can still author the SlipstreamMsp element under MsiPackage elements as desired. - - - - - - - - Describes a single msu package to install. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the package identifier as the first value in - contextValues. - - - - - - - - - A condition that determines if the package is present on the target system. This condition can use built-in - variables and variables returned by searches. This condition is necessary because Windows doesn't provide a - method to detect the presence of an MsuPackage. Burn uses this condition to determine how to treat this - package during a bundle action; for example, if this condition is false or omitted and the bundle is being - installed, Burn will install this package. - - - - - - - The knowledge base identifier for the MSU. The KB attribute must be specified to enable the MSU package to - be uninstalled. Even then MSU uninstallation is only supported on Windows 7 and later. When the KB attribute - is specified, the Permanent attribute will the control whether the package is uninstalled. - - - - - - - - Describes a single exe package to install. - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the package identifier as the first value in - contextValues. - - - - - - - - - A condition that determines if the package is present on the target system. This condition can use built-in - variables and variables returned by searches. This condition is necessary because Windows doesn't provide a - method to detect the presence of an ExePackage. Burn uses this condition to determine how to treat this - package during a bundle action; for example, if this condition is false or omitted and the bundle is being - installed, Burn will install this package. - - - - - - The command-line arguments provided to the ExePackage during install. If this attribute is absent the executable will be launched with no command-line arguments. - - - - - - The command-line arguments to specify to indicate a repair. If the executable package can be repaired but - does not require any special command-line arguments to do so then set the attribute's value to blank. To - indicate that the package does not support repair, omit this attribute. - - - - - - The command-line arguments provided to the ExePackage during uninstall. If this attribute is absent the executable will be launched with no command-line arguments. To prevent an ExePackage from being uninstalled set the Permanent attribute to "yes". - - - - - Indicates the package must be executed elevated. The default is "no". - - - - - Indicates the communication protocol the package supports for extended progress and error reporting. The default is "none". - - - - - - - Describes a rollback boundary in the chain. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the rollback boundary identifier as the 'RollbackBoundaryId' key in - contextValues. - - - - - - - - Identifier for this rollback boundary, for ordering and cross-referencing. If this attribute is - not provided a stable identifier will be generated. - - - - - - - Specifies whether the rollback boundary aborts the chain. The default "yes" indicates that if - the rollback boundary is encountered then the chain will fail and rollback or stop. If "no" - is specified then the chain should continue successfuly at the next rollback boundary. - - - - - - - Specifies whether the rollback boundary is wrapped in an MSI transaction. The default is "no" - - - - - - - - - - Location of the package to add to the bundle. The default value is the Name attribute, if provided. - At a minimum, the SourceFile or Name attribute must be specified. - - - - - - - The destination path and file name for this chain payload. Use this attribute to rename the - chain entry point or extract it into a subfolder. The default value is the file name from the - SourceFile attribute, if provided. At a minimum, the Name or SourceFile attribute must be specified. - The use of '..' directories is not allowed. - - - - - - - The URL to use to download the package. The following substitutions are supported: - - {0} is replaced by the package Id. - {1} is replaced by the payload Id. - {2} is replaced by the payload file name. - - - - - - - - Identifier for this package, for ordering and cross-referencing. The default is the Name attribute - modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores). - - - - - - - The identifier of another package that this one should be installed after. By default the After - attribute is set to the previous sibling package in the Chain or PackageGroup element. If this - attribute is specified ensure that a cycle is not created explicitly or implicitly. - - - - - - - The size this package will take on disk in bytes after it is installed. By default, the binder will - calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs) - and use the total for the install size of the package. - - - - - - A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled. - - - - - Whether to cache the package. The default is "yes". - - - - - The identifier to use when caching the package. - - - - - - Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages - use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use - the DisplayName patch metadata property. Other package types must use this attribute to define a display name in the - bootstrapper application data manifest. - - - - - - - Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages - use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use - the Description patch metadata property. Other package types must use this attribute to define a description in the - bootstrapper application data manifest. - - - - - - - Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not - be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging. - - - - - - - Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause - the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which - default to no logging. - - - - - - - Specifies whether the package can be uninstalled. The default is "no". - - - - - - - Specifies whether the package must succeed for the chain to continue. The default "yes" - indicates that if the package fails then the chain will fail and rollback or stop. If - "no" is specified then the chain will continue even if the package reports failure. - - - - - - Whether the package payload should be embedded in a container or left as an external payload. - - - - - - By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes" - and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the - signature instead. Beware that there are many real world issues with Windows verifying Authenticode signatures. - Since the Authenticode signatures are no more secure than hashing the packages directly, the default is "no". - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. The extension's - CompilerExtension.ParseAttribute() - method will be called with the package identifier in - contextValues["PackageId"]. - - - - - - - Describes a package group to a bootstrapper. - - - - - - - - - - - - - - - - Identifier for package group. - - - - - - - Create a reference to PackageGroup element that exists inside a Bundle or Fragment element. - - - - - - - - - - - The identifier of the PackageGroup element to reference. - - - - - The identifier of a package that this group should be installed after. - - - - - - - Allows an MSI property to be set based on the value of a burn engine expression. - - - - - - - - The name of the MSI property to set. Burn controls the follow MSI properties so they cannot be set with MsiProperty: ACTION, ALLUSERS, REBOOT, REINSTALL, REINSTALLMODE - - - - - The value to set the property to. This string is evaluated by the burn engine and can be as simple as a burn engine variable reference or as complex as a full expression. - - - - - - - Specifies a patch included in the same bundle that is installed when the parent MSI package is installed. - - - - - You can also specify that any MspPackage elements in the chain are automatically slipstreamed by setting the Slipstream attribute of an MspPackage to "yes". This will reduce the amount of authoring you need to write and will determine which msi packages can slipstream patches when building a bundle. - - - - - - - The identifier for a MspPackage in the bundle. - - - - - - - Describes a burn engine variable to define. - - - - - - - - - Whether the value of the variable should be hidden. - - - - - The name for the variable. - - - - - Whether the variable should be persisted. - - - - - Starting value for the variable. - - - - - Type of the variable, inferred from the value if not specified. - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Representation of a file that contains one or more files. - - - - - - - - - - - - The URL to use to download the container. This attribute is only valid when the container is detached. The - following substitutions are supported: - - {0} is always null. - {1} is replaced by the container Id. - {2} is replaced by the container file name. - - - - - - - The unique identifier for the container. If this attribute is not specified the Name attribute will be used. - - - - - The file name for this container. A relative path may be provided to place the container in a sub-folder of the bundle. - - - - - - Indicates whether the container is "attached" to the bundle executable or placed external to the bundle extecutable as "detached". If - this attribute is not specified, the default is to create a detached container. - - - - - - - - Create a reference to an existing Container element. - - - - - - - - - The identifier of Container element to reference. - - - - - - - Describes map of exit code returned from executable package to a bootstrapper behavior. - - - - - - - - Exit code returned from executable package. If no value is provided it means all values not explicitly set default to this behavior. - - - - - Choose one of the supported behaviors error codes: success, error, scheduleReboot, forceReboot. - - - - - - - - - - - - - - - Describes additional, conditional command-line arguments for an ExePackage. - - - - - Additional command-line arguments to apply during package installation if Condition is true. - - - - - Additional command-line arguments to apply during package uninstallation if Condition is true. - - - - - Additional command-line arguments to apply during package repair if Condition is true. - - - - - - The condition that controls whether the command-line arguments specified in the - InstallArgument, UninstallArgument, or RepairArgument attributes are appended to the - command line passed to the ExePackage. Which attribute is used depends on the - action being applied to the ExePackage. For example, when the ExePackage is - being installed, the InstallArgument attribute value is appended to the command - line when the ExePackage is executed. - - - - - - - - Describes a payload to a bootstrapper. - - - - - - - - - - - - - The identifier of Payload element. - - - - - Whether the payload should be embedded in a container or left as an external payload. - - - - - Location of the source file. - - - - - The destination path and file name for this payload. The default is the source file name. The use of '..' directories is not allowed. - - - - - - The URL to use to download the package. The following substitutions are supported: - - {0} is replaced by the package Id. - {1} is replaced by the payload Id. - {2} is replaced by the payload file name. - - - - - - - - By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes" - and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the - signature instead. Beware that there are many real world issues with Windows verifying Authenticode signatures. - Since the Authenticode signatures are no more secure than hashing the packages directly, the default is "no". - - - - - - - - Describes a payload group to a bootstrapper. PayloadGroups referenced from within a Bundle are tied to the Bundle. - PayloadGroups referenced from a Fragment are tied to the context of whatever references them such as an ExePackage or MsiPackage. - It is possible to share a PayloadGroup between multiple Packages and/or a Bundle by creating multiple references to it. - - - - - - - - - - - - Identifier for payload group. - - - - - - - Create a reference to PayloadGroup element that exists inside a Bundle or Fragment element. - - - - - - - - - - - The identifier of the PayloadGroup element to reference. - - - - - - - Describes information about a remote file payload that is not available at the time of building the bundle. - The parent must specify DownloadUrl and must not specify SourceFile when using this element. - - - - - - - - - Public key of the authenticode certificate used to sign the RemotePayload. Include this attribute if the remote file is signed. - - - - - Thumbprint of the authenticode certificate used to sign the RemotePayload. Include this attribute if the remote file is signed. - - - - - Description of the file from version resources. - - - - - SHA-1 hash of the RemotePayload. Include this attribute if the remote file is unsigned or SuppressSignatureVerification is set to Yes. - - - - - Product name of the file from version resouces. - - - - - Size of the remote file in bytes. - - - - - Version of the remote file - - - - - - - Create a RelatedBundle element. - - - - - - - - - The identifier of the RelatedBundle group. - - - - - The action to take on bundles related to this one. Detect is the default. - - - - - - - - - - - - - - - Defines the update for a Bundle. - - - - - - - - - - The absolute path or URL to check for an update bundle. Currently the engine provides this value - in the IBootstrapperApplication::OnDetectUpdateBegin() and otherwise ignores the value. In the - future the engine will be able to acquire an update bundle from the location and determine if it - is newer than the current executing bundle. - - - - - - - - - The Product element is analogous to the main function in a C program. When linking, only one Product section - can be given to the linker to produce a successful result. Using this element creates an msi file. - - - - You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - The product code GUID for the product. - - - - - The code page integer value or web name for the resulting MSI. See remarks for more information. - - - - - The decimal language ID (LCID) for the product. - - - - - The manufacturer of the product. - - - - - The descriptive name of the product. - - - - - The upgrade code GUID for the product. - - - - - The product's version string. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - The Module element is analogous to the main function in a C program. When linking, only - one Module section can be given to the linker to produce a successful result. Using this - element creates an msm file. - - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - The name of the merge module (not the file name). - - - - - The code page integer value or web name for the resulting MSM. See remarks for more information. - - - - - This attribute is deprecated. Use the Package/@Id attribute instead. - - - - - The decimal language ID (LCID) of the merge module. - - - - - The major and minor versions of the merge module. - - - - - - - Declares a dependency on another merge module. - - - - - Identifier of the merge module required by the merge module. - - - - - Numeric language ID of the merge module in RequiredID. - - - - - Version of the merge module in RequiredID. - - - - - - - Declares a merge module with which this merge module is incompatible. - - - - - Identifier of the merge module that is incompatible. - - - - - Numeric language ID of the merge module in ExcludedID. All except this language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified. - - - - - Numeric language ID of the merge module in ExcludedID. The specified language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified. - - - - - Minimum version excluded from a range. If not set, all versions before max are excluded. If neither max nor min, no exclusion based on version. - - - - - Maximum version excluded from a range. If not set, all versions after min are excluded. If neither max nor min, no exclusion based on version. - - - - - - - Defines the configurable attributes of merge module. - - - - - Defines the name of the configurable item. - - - - - Specifies the format of the data being changed. - - - - - - - - - - - - - Specifies the type of the data being changed. - - - - - Specifies a semantic context for the requested data. - - - - - Specifies a default value for the item in this record if the merge tool declines to provide a value. - - - - - Does not merge rule according to rules in MSI SDK. - - - - - If yes, null is not a valid entry. - - - - - Display name for authoring. - - - - - Description for authoring. - - - - - Location of chm file for authoring. - - - - - Keyword into chm file for authoring. - - - - - - - Specifies the configurable fields of a module database and provides a template for the configuration of each field. - - - - - Specifies the name of the table being modified in the module database. - - - - - Specifies the primary keys of the target row in the table named in the Table column. If multiple keys, separated by semicolons. - - - - - Specifies the target column in the row named in the Row column. - - - - - Provides a formatting template for the data being substituted into the target field specified by Table, Row, and Column. - - - - - - - - Specifies a table from the merge module that is not merged into an .msi file. - If the table already exists in an .msi file, it is not modified by the merge. - The specified table can therefore contain data that is unneeded after the merge. - To minimize the size of the .msm file, it is recommended that developers remove - unused tables from modules intended for redistribution rather than creating - IgnoreTable elements for those tables. - - - - - - - The name of the table in the merge module that is not to be merged into the .msi file. - - - - - - - - - The Fragment element is the building block of creating an installer database in WiX. Once defined, - the Fragment becomes an immutable, atomic unit which can either be completely included or excluded - from a product. The contents of a Fragment element can be linked into a product by utilizing one - of the many *Ref elements. When linking in a Fragment, it will be necessary to link in all of its - individual units. For instance, if a given Fragment contains two Component elements, you must link - both under features using ComponentRef for each linked Component. Otherwise, you will get a linker - warning and have a floating Component that does not appear under any Feature. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Optional identifier for a Fragment. Should only be set by advanced users to tag sections. - - - - - - - - - The Patch element is analogous to the main function in a C program. When linking, only one Patch section - can be given to the linker to produce a successful result. Using this element creates an MSP file. - - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - The ClientPatchId attribute allows you to specify an easily referenced identity that you can use in product authoring. This identity prefixes properties added by WiX to a patch transform, such as ClientPatchId.PatchCode and ClientPatchId.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix. - For example, if you were planning to ship a patch referred to as "QFE1" and needed to write your own registry values for Add/Remove Programs in product authoring such as the UninstallString for this patch, you could author a RegistryValue with the name UninstallString and the value [SystemFolder]msiexec.exe /package [ProductCode] /uninstall [QFE1.PatchCode]. In your patch authoring you would then set ClientPatchId to "QFE1" and WiX will add the QFE1.PatchCode property to the patch transform when the patch is created. If the Id attribute specified the patch code to be generated automatically, you could not reference the prefix.PatchCode property as shown above. - The summary information is automatically populated from attribute values of the Patch element including the code page. If you want to override some of these summary information properties or use a different code page for the summary information itself, author the PatchInformation element. - - - - - - - - - Optional element that allows overriding summary information properties. - - - - - - Indicates whether custom actions can be skipped when applying the patch. - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Patch code for this patch. - - - - - The code page integer value or web name for the resulting MSP. See remarks for more information. - - - - - Whether this is an uninstallable patch. - - - - - Category of updates. Recommended values are Critical Update, Hotfix, Security Rollup, Security Update, Service Pack, Update, Update Rollup. - - - - - An easily referenced identity unique to a patch that can be used in product authoring. See remarks for more information. - - - - - Flag used when creating a binary file patch. Default is "no". Don't use imagehlp.dll. - - - - - Flag used when creating a binary file patch. Default is "no". Don't fail patch due to imagehlp failures. - - - - - Flag used when creating a binary file patch. Default is "no". After matching decorated symbols, try to match remaining by undecorated names. - - - - - Description of the patch. - - - - - A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on. - - - - - Optional comments for browsing. - - - - - Vendor releasing the package - - - - - - Indicates that the patch targets the RTM version of the product or the most recent major - upgrade patch. Author this optional property in minor update patches that contain sequencing - information to indicate that the patch removes all patches up to the RTM version of the - product, or up to the most recent major upgrade patch. This property is available beginning - with Windows Installer 3.1. - - - - - - A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on. - - - - - - If this attribute is set to 'yes' in all the patches to be applied in a transaction, the - application of the patch is optimized if possible. Available beginning with Windows Installer 3.1. - - - - - - Name of the application or target product suite. - - - - - When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller. - - - - - - - Sets information in the patch transform that determines if the transform applies to an installed product and what errors should be ignored when applying the patch transform. - - - A transform contains the differences between the target product and the upgraded product. When a transform or a patch (which contains transforms) is applied, the following properties of the installed product are validated against the properties of the target product stored in a transform. - - ProductCode - ProductLanguage - ProductVersion - UpgradeCode - - Windows Installer simply validates that the ProductCode, ProductLanguage, and UpgradeCode of an installed product are equivalent to those propeties of the target product used to create the transform; however, the ProductVersion can be validated with a greater range of comparisons. - You can compare up to the first three fields of the ProductVersion. Changes to the fourth field are not validated and are useful for small updates. You can also choose how to compare the target ProductVersion used to create the transform with the installed ProductVersion. For example, while the default value of 'Equals' is recommended, if you wanted a minor upgrade patch to apply to the target ProductVersion and all older products with the same ProductCode, you would use 'LesserOrEqual'. - - - - - - - Requires that the installed ProductCode match the target ProductCode used to create the transform. The default is 'yes'. - - - - - Requires that the installed ProductLanguage match the target ProductLanguage used to create the transform. The default is 'no'. - - - - - Determines how many fields of the installed ProductVersion to compare. See remarks for more information. The default is 'Update'. - - - - - - Checks the major version. - - - - - Checks the major and minor versions. - - - - - Checks the major, minor, and update versions. - - - - - - - - Determines how the installed ProductVersion is compared to the target ProductVersion used to create the transform. See remarks for more information. The default is 'Equal'. - - - - - - Installed ProductVersion < target ProductVersion. - - - - - Installed ProductVersion <= target ProductVersion. - - - - - Installed ProductVersion = target ProductVersion. - - - - - Installed ProductVersion >= target ProductVersion. - - - - - Installed ProductVersion > target ProductVersion. - - - - - - - - Requires that the installed UpgradeCode match the target UpgradeCode used to create the transform. The default is 'yes'. - - - - - Ignore errors when adding existing rows. The default is 'yes'. - - - - - Ignore errors when adding existing tables. The default is 'yes'. - - - - - Ignore errors when deleting missing rows. The default is 'yes'. - - - - - Ignore errors when deleting missing tables. The default is 'yes'. - - - - - Ignore errors when updating missing rows. The default is 'yes'. - - - - - Ignore errors when changing the database code page. The default is 'no'. - - - - - - - Indicates whether custom actions can be skipped when applying the patch. - - - - - - - - Skip property (type 51) and directory (type 35) assignment custom actions. - - - - - Skip immediate custom actions that are not property or directory assignment custom actions. - - - - - Skip custom actions that run within the script. - - - - - - - Identifies a set of product versions. - - - - - - - - Identifier for a set of product versions. - - - - - - - Collection of items that should be kept from the differences between two products. - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Identifier which indicates a sequence family to which this patch belongs. - - - - - - Specifies the ProductCode of the product that this family applies to. - - - - - - Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK. - - - - - - Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. - The default value is 'no'. - - - - - - - - - Groups together multiple patch families to be used in other locations. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Identifier for the PatchFamilyGroup. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a PatchFamilyGroup in another Fragment. - - - - - - - - The identifier of the PatchFamilyGroup to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - The PatchCreation element is analogous to the main function in a C program. When linking, only one PatchCreation section - can be given to the linker to produce a successful result. Using this element creates a pcp file. - - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - - - - - - - - - - - - PatchCreation identifier; this is the primary key for identifying patches. - - - - - Use this to set whether the major versions between the upgrade and target images match. See AllowProductVersionMajorMismatches for more information. - - - - - Use this to set whether the product code between the upgrade and target images match. See AllowProductCodeMismatches for more information. - - - - - Use this to set whether Patchwiz should clean the temp folder when finished. See DontRemoveTempFolderWhenFinished for more information. - - - - - The code page integer value or web name for the resulting PCP. See remarks for more information. - - - - - The full path, including file name, of the patch package file that is to be generated. See PatchOutputPath for more information. - - - - - Used to locate the .msp file for the patch if the cached copy is unavailable. See PatchSourceList for more information. - - - - - An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See ApiPatchingSymbolFlags for more information. - - - - - Use this to set whether changing files should be included in their entirety. See IncludeWholeFilesOnly for more information. - - - - - - - Properties about the patch to be placed in the Summary Information Stream. These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer. - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - A short description of the patch that includes the name of the product. - - - - - - - - - - - - - - - - - - - The name of the manufacturer of the patch package. - - - - - A semicolon-delimited list of network or URL locations for alternate sources of the patch. The default is "Installer,Patching,PCP,Database". - - - - - General purpose of the patch package. For example, "This patch contains the logic and data required to install <product>." - - - - - - The value of this attribute conveys whether the package should be opened as read-only. - A database editing tool should not modify a read-only enforced database and should - issue a warning at attempts to modify a read-only recommended database. - - - - - - The code page integer value or web name for summary info strings only. The default is 1252. See remarks for more information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Properties about the patch to be placed in the PatchMetadata table. - - - - - - - - - - A custom property that extends the standard set. - - - - - Indicates whether custom actions can be skipped when applying the patch. - - - - - - - Whether this is an uninstallable patch. - - - - - Category of updates. Recommended values are Critical Update, Hotfix, Security Rollup, Security Update, Service Pack, Update, Update Rollup. - - - - - Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute). - - - - - Description of the patch. - - - - - A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on. - - - - - Name of the manufacturer. - - - - - - Indicates that the patch targets the RTM version of the product or the most recent major - upgrade patch. Author this optional property in minor update patches that contain sequencing - information to indicate that the patch removes all patches up to the RTM version of the - product, or up to the most recent major upgrade patch. This property is available beginning - with Windows Installer 3.1. - - - - - - A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on. - - - - - - If this attribute is set to 'yes' in all the patches to be applied in a transaction, the - application of the patch is optimized if possible. Available beginning with Windows Installer 3.1. - - - - - - Name of the application or target product suite. - - - - - - - A custom property for the PatchMetadata table. - - - - - The name of the company. - - - - - The name of the metadata property. - - - - - Value of the metadata property. - - - - - - - A patch that is deprecated by this patch. - - - - - Patch GUID to be unregistered if it exists on the machine targeted by this patch. - - - - - - - - The product codes for products that can accept the patch. - - - - - - - - - Whether to replace the product codes that can accept the patch from the target packages with the child elements. - - - - - - - - A product code for a product that can accept the patch. - - - - When using the PatchCreation element, if the Id attribute value is '*' or this element is not authored, the product codes of all products referenced by the TargetImages element are used. - When using the Patch element, the Id attribute value must not be '*'. Use the TargetProductCodes/@Replace attribute instead. - - - - - - - - The product code for a product that can accept the patch. This can be '*'. See remarks for more information. - - - - - - - - A property for this patch database. - - - - When authored under the Patch element, the PatchProperty defines entries in the MsiPatchMetadata table. - - - - - - - Name of the company for a custom metadata property. - - - - - Name of the patch property. - - - - - Value of the patch property. - - - - - - - Sequence information for this patch database. Sequence information is generated automatically in most cases, and rarely needs to be set explicitly. - - - - - - - - Identifier which indicates a sequence family to which this patch belongs. - - - - - - Specifies the ProductCode of the product that this family applies to. - This attribute cannot the specified if the TargetImage attribute is specified. - - - - - - Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK. - - - - - - Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. - The default value is 'no'. - - - - - - - - - - - - - - Specifies the TargetImage that this family applies to. - This attribute cannot the specified if the ProductCode attribute is specified. - - - - - - - - Group of one or more upgraded images of a product. - - - - - - - - - - - - Entered into the DiskId field of the new Media table record. - - - - - Value to display in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. - - - - - Entered into the Source field of the new Media table entry of the upgraded image. - - - - - Identifier for the family. - - - - - Sequence number for the starting file. - - - - - Entered into the VolumeLabel field of the new Media table record. - - - - - - - Contains information about the upgraded images of the product. - - - - - - - - - - - - Identifier to connect target images with upgraded image. - - - - - Full path to location of msi file for upgraded image. - - - - - - - - - - - - Modified copy of the upgraded installation database that contains additional authoring specific to patching. - - - - - - - - - - - - - - Contains information about the target images of the product. - - - - - - - - - Identifier for the target image. - - - - - Full path to the location of the msi file for the target image. - - - - - - - - - - - - Relative order of the target image. - - - - - Product checking to avoid applying irrelevant transforms. - - - - - Files missing from the target image are ignored by the installer. - - - - - - - Information about specific files in a target image. - - - - - - - - - - - - Foreign key into the File table. - - - - - - - Specifies part of a file that is to be ignored during patching. - - - - - Offset of the start of the range. - - - - - Length of the range. - - - - - - - Specifies part of a file that cannot be overwritten during patching. - - - - - Offset of the start of the range. - - - - - Length of the range. - - - - - - - Specifies a file to be protected. - - - - - - - - Foreign key into the File table. - - - - - - - Contains information about specific files that are not part of a regular target image. - - - - - - - - - - - - Foreign key into the File table. - - - - - Full path of the external file. - - - - - - - - - - - - Specifies the order of the external files to use when creating the patch. - - - - - - - Specifies files to either ignore or to specify optional data about a file. - - - - - - - - Foreign key into the File table. - - - - - If yes, the file is ignored during patching, and the next two attributes are ignored. - - - - - Specifies whether patching this file is vital. - - - - - Whether the whole file should be installed, rather than creating a binary patch. - - - - - - - A path to symbols. - - - - - The path. - - - - - - - - Properties about the package to be placed in the Summary Information Stream. These are - visible from COM through the IStream interface, and these properties can be seen on the package in Explorer. - - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - - The package code GUID for a product or merge module. - When compiling a product, this attribute should not be set in order to allow the package - code to be generated for each build. - When compiling a merge module, this attribute must be set to the modularization guid. - - - - - - Set to 'yes' if the source is an admin image. - - - - - Optional comments for browsing. - - - - - - Set to 'yes' to have compressed files in the source. - This attribute cannot be set for merge modules. - - - - - - The product full name or description. - - - - - Use this attribute to specify the priviliges required to install the package on Windows Vista and above. - - - - - - - Set this value to declare that the package does not require elevated privileges to install. - - - - - - - Set this value to declare that the package requires elevated privileges to install. - This is the default value. - - - - - - - - - Use this attribute to specify the installation scope of this package: per-machine or per-user. - - - - - - - Set this value to declare that the package is a per-machine installation and requires elevated privileges to install. - Sets the ALLUSERS property to 1. - - - - - - - Set this value to declare that the package is a per-user installation and does not require elevated privileges to install. - Sets the package's InstallPrivileges attribute to "limited." - - - - - - - - - - The minimum version of the Windows Installer required to install this package. Take the major version of the required Windows Installer - and multiply by a 100 then add the minor version of the Windows Installer. For example, "200" would represent Windows Installer 2.0 and - "405" would represent Windows Installer 4.5. For 64-bit Windows Installer packages, this property is set to 200 by default as - Windows Installer 2.0 was the first version to support 64-bit packages. - - - - - - Optional keywords for browsing. - - - - - The list of language IDs (LCIDs) supported in the package. - - - - - The vendor releasing the package. - - - - - - The list of platforms supported by the package. This attribute has been deprecated. - Specify the -arch switch at the candle.exe command line or the InstallerPlatform - property in a .wixproj MSBuild project. - - - - - - - The platform supported by the package. Use of this attribute is discouraged; instead, - specify the -arch switch at the candle.exe command line or the InstallerPlatform - property in a .wixproj MSBuild project. - - - - - - - - Set this value to declare that the package is an x86 package. - - - - - - - Set this value to declare that the package is an ia64 package. - This value requires that the InstallerVersion property be set to 200 or greater. - - - - - - - Set this value to declare that the package is an x64 package. - This value requires that the InstallerVersion property be set to 200 or greater. - - - - - - - Set this value to declare that the package is an arm package. - This value requires that the InstallerVersion property be set to 500 or greater. - - - - - - - This value has been deprecated. Use "x86" instead. - - - - - - - This value has been deprecated. Use "ia64" instead. - - - - - - - - - - The value of this attribute conveys whether the package should be opened as read-only. - A database editing tool should not modify a read-only enforced database and should - issue a warning at attempts to modify a read-only recommended database. - - - - - - Set to 'yes' to have short filenames in the source. - - - - - The code page integer value or web name for summary info strings only. See remarks for more information. - - - - - - - - The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly. - Consider using the Assembly attribute on File element to have the toolset populate these entries automatically. - - - - - - - - - Name of the attribute associated with the value specified in the Value column. - - - - - Value associated with the name specified in the Name column. - - - - - - - - Identifies the possible signer certificates used to digitally sign patches. - - - - - - - - - - - - - - - Digital signatures that identify installation packages in a multi-product transaction. - - - - - - - - - - - - - - - Adds a digital certificate. - - - - - - - - - Identifier for a certificate file. - - - - - The path to the certificate file. - - - - - - - - Reference to a DigitalCertificate element. This will force the entire referenced Fragment's contents - to be included in the installer database. This is only used for references when patching. - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Adds a digital signature. - - - - - - - - - - - - The path to signature's optional hash file. - - - - - - - - Adds a system file protection update catalog file - - - - - - - - - - - Primary Key to File Table. - - - - - - Filename for catalog file when installed. - - - - - Used to define dependency outside of the package. - - - - - Path to catalog file in binary. - - - - - - - - Provides a many-to-many mapping from the SFPCatalog table to the File table - - - - - - - - - Primary Key to File Table. - - - - - - - - Adds or removes .ini file entries. - - - - - - - - - - Identifier for ini file. - - - - - The type of modification to be made. - - - - - - Creates or updates an .ini entry. - - - - - Creates a new entry or appends a new comma-separated value to an existing entry. - - - - - Creates an .ini entry only if the entry does no already exist. - - - - - Removes an .ini entry. - - - - - Removes a tag from an .ini entry. - - - - - - - - Name of a property, the value of which is the full path of the folder containing the .ini file. Can be name of a directory in the Directory table, a property set by the AppSearch table, or any other property representing a full path. - - - - - The localizable .ini file key within the section. - - - - - - In prior versions of the WiX toolset, this attribute specified the short name. - This attribute's value may now be either a short or long name. - If a short name is specified, the ShortName attribute may not be specified. - Also, if this value is a long name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short name. - However, if this name collides with another file or you wish to manually specify - the short name, then the ShortName attribute may be specified. - - - - - - The localizable .ini file section. - - - - - - The short name of the in 8.3 format. - This attribute should only be set if there is a conflict between generated short names - or the user wants to manually specify the short name. - - - - - - - The localizable value to be written or deleted. This attribute must be set if - the Action attribute's value is "addLine", "addTag", or "createLine". - - - - - - - - - ODBCDataSource for a Component - - - - - - - - - - Translates into ODBCSourceAttributes - - - - - - Identifier of the data source. - - - - - Name for the data source. - - - - - Required if not found as child of ODBCDriver element - - - - - Scope for which the data source should be registered. - - - - - - - Data source is registered per machine. - - - - - - - Data source is registered per user. - - - - - - - - - Set 'yes' to force this file to be key path for parent Component - - - - - - - - ODBCDriver for a Component - - - - - - - - - - Translates into ODBCSourceAttributes - - - - - - - Identifier for the driver. - - - - - Name for the driver. - - - - - Required if not found as child of File element - - - - - Required if not found as child of File element or different from File attribute above - - - - - - - - ODBCTranslator for a Component - - - - - - - - - Identifier for the translator. - - - - - Name for the translator. - - - - - Required if not found as child of File element - - - - - Required if not found as child of File element or different from File attribute above - - - - - - - - - - - - - - - - How To: Check the version number of a file during installation - - When the parent DirectorySearch/@Depth attribute is greater than 0, the FileSearch/@Id attribute must be absent or the same as the parent DirectorySearch/@Id attribute value, unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'. - - - Searches for file and assigns to fullpath value of parent Property - - - - - Unique identifier for the file search and external key into the Signature table. If this attribute value is not set then the parent element's @Id attribute is used. - - - - - - In prior versions of the WiX toolset, this attribute specified the short file name. - This attribute's value may now be either a short or long file name. - If a short file name is specified, the ShortName attribute may not be specified. - If you wish to manually specify the short file name, then the ShortName - attribute may be specified. - - - - - - - The short file name of the file in 8.3 format. - There is a Windows Installer bug which prevents the FileSearch functionality from working - if both a short and long file name are specified. Since the Name attribute allows either - a short or long name to be specified, it is the only attribute related to file names which - should be specified. - - - - - - The minimum size of the file. - - - - - The maximum size of the file. - - - - - The minimum version of the file. - - - - - The maximum version of the file. - - - - - The minimum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second. - - - - - The maximum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second. - - - - - The languages supported by the file. - - - - - - - - - - A reference to another FileSearch element must reference the same Id and the same Parent Id. If any of these attribute values are different you must instead use a FileSearch element. - - - References an existing FileSearch element. - - - - - Specify the Id to the FileSearch to reference. - - - - - - - - - - - - - How To: Check the version number of a file during installation - How To: Reference another DirectorySearch element - How To: Get the parent directory of a file search - - Use the AssignToProperty attribute to search for a file but set the outer property to the directory containing the file. When this attribute is set to 'yes', you may only nest a FileSearch element with a unique Id or define no child element. - When the parent DirectorySearch/@Depth attribute is greater than 0, the FileSearch/@Id attribute must be absent or the same as the parent DirectorySearch/@Id attribute value, unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'. - - - Searches for directory and assigns to value of parent Property. - - - - - - - - - - - Unique identifier for the directory search. - - - - - Path on the user's system. Either absolute, or relative to containing directories. - - - - - - Depth below the path that the installer searches for the file or directory specified by the search. See remarks for more information. - - - - - - Set the value of the outer Property to the result of this search. See remarks for more information. - - - - - - - - - - - How To: Reference another DirectorySearch element - - A reference to another DirectorySearch element must reference the same Id, the same Parent Id, and the same Path. If any of these attribute values are different you must instead use a DirectorySearch element. - - - References an existing DirectorySearch element. - - - - - - - - - - - Id of the search being referred to. - - - - - This attribute is the signature of the parent directory of the file or directory in the Signature_ column. If this field is null, and the Path column does not expand to a full path, then all the fixed drives of the user's system are searched by using the Path. This field is a key into one of the following tables: the RegLocator, the IniLocator, the CompLocator, or the DrLocator tables. - - - - - Path on the user's system. Either absolute, or relative to containing directories. - - - - - - - - - - - - - Searches for file or directory and assigns to value of parent Property. - - - - - - - - - - - - The component ID of the component whose key path is to be used for the search. - - - - - Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. - - - - - - - The key path of the component is a directory. - - - - - - - The key path of the component is a file. This is the default value. - - - - - - - - - - - - - - - - - Searches for file, directory or registry key and assigns to value of parent Property - - - - - - - - - - - External key into the Signature table. - - - - - The field in the .ini line. If field is Null or 0, the entire line is read. - - - - - The key value within the section. - - - - - - In prior versions of the WiX toolset, this attribute specified the short name. - This attribute's value may now be either a short or long name. - If a short name is specified, the ShortName attribute may not be specified. - Also, if this value is a long name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short name. - However, if you wish to manually specify the short name, then the ShortName - attribute may be specified. - - - - - - The localizable .ini file section. - - - - - - The short name of the file in 8.3 format. - This attribute should only be set if the user wants to manually specify the short name. - - - - - - Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. - - - - - - A directory location. - - - - - A file location. This is the default value. - - - - - A raw .ini value. - - - - - - - - - - - - - - - How To: Read a registry entry during installation - - - When the Type attribute value is 'directory' the registry value must specify the path to a directory excluding the file name. - When the Type attribute value is 'file' the registry value must specify the path to a file including the file name; - however, if there is no child FileSearch element the parent directory of the file is returned. The FileSearch element requires - that you author the name of the file you are searching for. If you do not know the file name - you must set the Type attribute to 'raw' to return the full file path including the file name. - - - - Searches for file, directory or registry key and assigns to value of parent Property - - - - - - - - - - - Signature to be used for the file, directory or registry key being searched for. - - - - - Root key for the registry value. - - - - - - - HKEY_CLASSES_ROOT - - - - - - - HKEY_CURRENT_USER - - - - - - - HKEY_LOCAL_MACHINE - - - - - - - HKEY_USERS - - - - - - - - - Key for the registry value. - - - - - Registry value name. If this value is null, then the value from the key's unnamed or default value, if any, is retrieved. - - - - - - The value must be 'file' if the child is a FileSearch element, and must be 'directory' if child is a DirectorySearch element. - - - - - - - - The registry value contains the path to a directory. - - - - - - - The registry value contains the path to a file. To return the full file path you must add a FileSearch element as a child of this element; otherwise, the parent directory of the file path is returned. - - - - - - - Sets the raw value from the registry value. Please note that this value will contain a prefix as follows:DWORDStarts with '#' optionally followed by '+' or '-'.REG_BINARYStarts with '#x' and the installer converts and saves each hexadecimal digit (nibble) as an ASCII character prefixed by '#x'.REG_EXPAND_SZStarts with '#%'.REG_MULTI_SZStarts with '[~]' and ends with '[~]'.REG_SZNo prefix, but if the first character of the registry value is '#', the installer escapes the character by prefixing it with another '#'. - - - - - - - - Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. - The default value is based on the platform set by the -arch switch to candle.exe - or the InstallerPlatform property in a .wixproj MSBuild project: - For x86 and ARM, the default value is 'no'. - For x64 and IA64, the default value is 'yes'. - - - - - - - - - - - References an existing RegistrySearch element. - - - - - Specify the Id of the RegistrySearch to reference. - - - - - - - Sets the parent of a nested DirectorySearch element to CCP_DRIVE. - - - - - - - - - - - - - - - - Adds a row to the CCPSearch table. - - - - - - - Starts searches from the CCP_DRIVE. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - How To: Check the version number of a file during installation - - Property value for a Product or Module. - - - - - - - Starts searches from the CCP_DRIVE. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Unique identifier for Property. - - - - - Sets a default value for the property. The value will be overwritten if the Property is used for a search. - - - - - Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element. - - - - - Denotes that the Property is saved during admininistrative installation. See the AdminProperties Property for more information. - - - - - Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. See the SecureCustomProperties Property for more information. - - - - - Denotes that the Property is not logged during installation. See the MsiHiddenProperties Property for more information. - - - - - - Use to suppress modularization of this property identifier in merge modules. - Using this functionality is strongly discouraged; it should only be - necessary as a workaround of last resort in rare scenarios. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - How To: Check for .NET Framework versions - - Reference to a Property value. - - - - - Identifier of Property to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Shortcut, default target is parent File, CreateFolder, or Component's Directory - - - - How To: Create a shortcut on the Start Menu - - - - - - - - - - Unique identifier for the shortcut. This value will serve as the primary key for the row. - - - - - Identifier reference to Directory element where shortcut is to be created. When nested under a Component element, this attribute's value will default to the parent directory. Otherwise, this attribute is required. - - - - - - In prior versions of the WiX toolset, this attribute specified the short name. - This attribute's value may now be either a short or long name. - If a short name is specified, the ShortName attribute may not be specified. - Also, if this value is a long name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short name. - However, if this name collides with another shortcut or you wish to manually specify - the short name, then the ShortName attribute may be specified. - - - - - - - The short name of the shortcut in 8.3 format. - This attribute should only be set if there is a conflict between generated short names - or the user wants to manually specify the short name. - - - - - - - This attribute can only be set if this Shortcut element is nested under a Component element. - When nested under a Component element, this attribute's value will default to the parent directory. - This attribute's value is the target for a non-advertised shortcut. - This attribute is not valid for advertised shortcuts. - If you specify this value, its value should be a property identifier enclosed by square brackets ([ ]), that is expanded into the file or a folder pointed to by the shortcut. - - - - - - The localizable description for the shortcut. - - - - - The command-line arguments for the shortcut. Note that the resolution of properties - in the Arguments field is limited. A property formatted as [Property] in this field can only be resolved if the - property already has the intended value when the component owning the shortcut is installed. For example, for the - argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and - the component that owns the shortcut. - - - - - The hotkey for the shortcut. The low-order byte contains the virtual-key code for - the key, and the high-order byte contains modifier flags. This must be a non-negative number. Authors of - installation packages are generally recommend not to set this option, because this can add duplicate hotkeys to a - users desktop. In addition, the practice of assigning hotkeys to shortcuts can be problematic for users using hotkeys - for accessibility. - - - - - Identifier reference to Icon element. The Icon identifier should have the same extension - as the file that it points at. For example, a shortcut to an executable (e.g. "my.exe") should reference an Icon with identifier - like "MyIcon.exe" - - - - - Identifier reference to Icon element. - - - - - - - - - The shortcut target will be displayed using the SW_SHOWNORMAL attribute. - - - - - - - The shortcut target will be displayed using the SW_SHOWMINNOACTIVE attribute. - - - - - - - The shortcut target will be displayed using the SW_SHOWMAXIMIZED attribute. - - - - - - - - - Directory identifier (or Property identifier that resolves to a directory) that resolves - to the path of the working directory for the shortcut. - - - - - Specifies if the shortcut should be advertised or not. Note that advertised shortcuts - always point at a particular application, identified by a ProductCode, and should not be shared between applications. - Advertised shortcuts only work for the most recently installed application, and are removed when that application is - removed. The default value is 'no'. - - - - - - The Formatted string providing the full path to the language neutral file containing the MUI Manifest. Generally - authored using [#filekey] form. When this attribute is specified, the DisplayResourceId attribute must also - be provided. - - This attribute is only used on Windows Vista and above. If this attribute is not populated and the install - is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and - the install is running on Vista and above, the value in the Name attribute is ignored. - - - - - - - The display name index for the shortcut. This must be a non-negative number. When this attribute is specified, the - DisplayResourceDll attribute must also be provided. - - This attribute is only used on Windows Vista and above. If this attribute is not specified and the install - is running on Vista and above, the value in the Name attribute is used. If this attribute is specified and - the install is running on Vista and above, the value in the Name attribute is ignored. - - - - - - - The Formatted string providing the full path to the language neutral file containing the MUI Manifest. Generally - authored using [#filekey] form. When this attribute is specified, the DescriptionResourceId attribute must also - be provided. - - This attribute is only used on Windows Vista and above. If this attribute is not specified and the install - is running on Vista and above, the value in the Name attribute is used. If this attribute is provided and - the install is running on Vista and above, the value in the Name attribute is ignored. - - - - - - - The description name index for the shortcut. This must be a non-negative number. When this attribute is specified, - the DescriptionResourceDll attribute must also be populated. - - This attribute is only used on Windows Vista and above. If this attribute is not specified and the install - is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and the - install is running on Vista and above, the value in the Name attribute is ignored. - - - - - - - - - - - - Property values for a shortcut. This element's functionality is available starting with MSI 5.0. - - - - - Unique identifier for MsiShortcutProperty table. If omitted, a stable identifier will be generated from the parent shortcut identifier and Key value. - - - - - A formatted string identifying the property to be set. - - - - - A formatted string supplying the value of the property. - - - - - - - - Sets ACLs on File, Registry, or CreateFolder. When under a Registry element, this cannot be used - if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute. - The table and key are taken from the parent element. - - - - - - - - - - - - - - - - - Bit mask for SPECIFIC_RIGHTS_ALL from WinNT.h (0x0000FFFF). - - - - - - - - - - - - For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. - - - - - - - - Bit mask for FILE_ALL_ACCESS from WinNT.h (0x001F01FF). - - - - - - - - - - - - - - - - specifying this will fail to grant read access - - - - - - - - Sets ACLs on File, Registry, or CreateFolder. When under a Registry element, this cannot be used - if the Action attribute's value is remove or removeKeyOnInstall. This element is only available - when installing with MSI 5.0. For downlevel support, see the PermissionEx element from the - WixUtilExtension. - - - - - - - - - - - Optional condition that controls whether the permissions are applied. - - - - - - - - Primary key used to identify this particular entry. If this is not specified the parent element's Id attribute - will be used instead. - - - - - - - Security descriptor to apply to parent object. - - - - - - - - - - - - - - Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. When - this element is nested under a File element, the parent file will be installed, then copied to the specified destination - if the parent component of the file is selected for installation or removal. When this element is nested under - a Component element and no FileId attribute is specified, the file to copy or move must already be on the target machine. - When this element is nested under a Component element and the FileId attribute is specified, the specified file is installed, - then copied to the specified destination if the parent component is selected for installation or removal (use - this option to control the copy of a file in a different component by the parent component's installation state). If the - specified destination directory is the same as the directory containing the original file and the name for the proposed source - file is the same as the original, then no action takes place. - - - - - - Primary key used to identify this particular entry. - - - - - - This attribute cannot be specified if the element is nested under a File element. Set this attribute's value to the identifier - of a file from a different component to copy it based on the install state of the parent component. - - - - - - - This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set - this value to the source directory from which to copy or move an existing file on the target machine. This Directory must - exist in the installer database at creation time. This attribute cannot be specified in conjunction with SourceProperty. - - - - - - - This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set - this value to a property that will have a value that resolves to the full path of the source directory (or full path - including file name if SourceName is not specified). The property does not have to exist in the installer database at - creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute - cannot be specified in conjunction with SourceDirectory. - - - - - - - This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set - this value to the localizable name of the file(s) to be copied or moved. All of the files that - match the wild card will be removed from the specified directory. The value is a filename that may also - contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. If this - attribute is not specified (and this element is not nested under a File element or specify a FileId attribute) then the - SourceProperty attribute should be set to the name of a property that will resolve to the full path of the source filename. - If the value of this attribute contains a "*" wildcard and the DestinationName attribute is specified, all moved or copied - files retain the file names from their sources. - - - - - - - Set this value to the destination directory where an existing file on the target machine should be moved or copied to. This - Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with - DestinationProperty. - - - - - - - Set this value to a property that will have a value that resolves to the full path of the destination directory. The property - does not have to exist in the installer database at creation time; it could be created at installation time by a custom - action, on the command line, etc. This attribute cannot be specified in conjunction with DestinationDirectory. - - - - - - - In prior versions of the WiX toolset, this attribute specified the short file name. - Now set this value to the localizable name to be given to the original file after it is moved or copied. - If this attribute is not specified, then the destination file is given the same name as the source file. - If a short file name is specified, the DestinationShortName attribute may not be specified. - Also, if this value is a long file name, the DestinationShortName attribute may be omitted to - allow WiX to attempt to generate a unique short file name. - However, if this name collides with another file or you wish to manually specify - the short file name, then the DestinationShortName attribute may be specified. - - - - - - - The short file name of the file in 8.3 format. - This attribute should only be set if there is a conflict between generated short file names - or you wish to manually specify the short file name. - - - - - - - This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. In other - cases, if the attribute is not specified, the default value is "no" and the file is copied, not moved. Set the value to "yes" - in order to move the file (thus deleting the source file) instead of copying it. - - - - - - - - - File specification for File table, must be child node of Component. - - - - How To: Add a file to your installer - - - - - - - - Used to configure the ACLs for this file. - - - - - Can also configure the ACLs for this file. - - - - - Used to create a duplicate of this file elsewhere. - - - - - Target of the shortcut will be set to this file. - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - The unique identifier for this File element. If you omit Id, it defaults to the file name portion of the Source attribute, if specified. May be referenced as a Property by specifying [#value]. - - - - - - Set this attribute to make this file a companion child of another file. The installation - state of a companion file depends not on its own file versioning information, but on the versioning of its - companion parent. A file that is the key path for its component can not be a companion file (that means - this attribute cannot be set if KeyPath="yes" for this file). The Version attribute cannot be set along - with this attribute since companion files are not installed based on their own version. - - - - - - In prior versions of the WiX toolset, this attribute specified the short file name. - This attribute's value may now be either a short or long file name. - If a short file name is specified, the ShortName attribute may not be specified. - Also, if this value is a long file name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short file name. - However, if this name collides with another file or you wish to manually specify - the short file name, then the ShortName attribute may be specified. - Finally, if this attribute is omitted then its default value is the file name portion - of the Source attribute, if one is specified, or the value of the Id attribute, if - the Source attribute is omitted or doesn't contain a file name. - - - - - - Set to yes in order to force this file to be the key path for the parent component. - - - - - - The short file name of the file in 8.3 format. - This attribute should only be set if there is a conflict between generated short file names - or the user wants to manually specify the short file name. - - - - - - - Set to yes in order to have the file's read-only attribute set when it is installed on the target machine. - - - - - Set to yes in order to have the file's hidden attribute set when it is installed on the target machine. - - - - - Set to yes in order to have the file's system attribute set when it is installed on the target machine. - - - - - If a file is vital, then installation cannot proceed unless the file is successfully installed. The user will have no option to ignore an error installing this file. If an error occurs, they can merely retry to install the file or abort the installation. The default is "yes," unless the -sfdvital switch (candle.exe) or SuppressFileDefaultVital property (.wixproj) is used. - - - - - This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header. Only those files that have this attribute set will be verified for valid checksum during a reinstall. - - - - - Sets the file's source type compression. A setting of "yes" or "no" will override the setting in the Word Count Summary Property. - - - - - A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. The list is usually a list of properties, with each property enclosed inside square brackets. The value may be set to an empty string. Including this attribute will cause an entry to be generated for the file in the BindImage table. - - - - - The cost of registering the file in bytes. This must be a non-negative number. Including this attribute will cause an entry to be generated for the file in the SelfReg table. - - - - - Causes an entry to be generated for the file in the Font table with no FontTitle specified. This attribute is intended to be used to register the file as a TrueType font. - - - - - Causes an entry to be generated for the file in the Font table with the specified FontTitle. This attribute is intended to be used to register the file as a non-TrueType font. - - - - - This is the default language of this file. The linker will replace this value from the value in the file if the suppress files option is not used. - - - - - This is the default size of this file. The linker will replace this value from the value in the file if the suppress files option is not used. - - - - - This is the default version of this file. The linker will replace this value from the value in the file if the suppress files option is not used. - - - - - - - Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the - Global Assembly Cache (GAC). If the value is '.net' or 'win32', this file must also be the key path of the Component. - - - - - - - - The file is a .NET Framework assembly. - - - - - - - The file is not a .NET Framework or Win32 assembly. This is the default value. - - - - - - - The file is a Win32 assembly. - - - - - - - - - - Specifies the file identifier of the manifest file that describes this assembly. - The manifest file should be in the same component as the assembly it describes. - This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'. - - - - - - - Specifies the file identifier of the application file. This assembly will be isolated - to the same directory as the application file. - If this attribute is absent, the assembly will be installed to the Global Assembly Cache (GAC). - This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'. - - - - - - Specifies the architecture for this assembly. This attribute should only be used on .NET Framework 2.0 or higher assemblies. - - - - - - - The file is a .NET Framework assembly that is processor-neutral. - - - - - - - The file is a .NET Framework assembly for the x86 processor. - - - - - - - The file is a .NET Framework assembly for the x64 processor. - - - - - - - The file is a .NET Framework assembly for the ia64 processor. - - - - - - - - - - The value of this attribute should correspond to the Id attribute of a Media - element authored elsewhere. By creating this connection between a file and - its media, you set the packaging options to the values specified in the Media - element (values such as compression level, cab embedding, etc...). Specifying - the DiskId attribute on the File element overrides the default DiskId attribute - from the parent Component element. If no DiskId attribute is specified, - the default is "1". This DiskId attribute is ignored when creating a merge module - because merge modules do not have media. - - - - - - Specifies the path to the File in the build process. Overrides default source path set by parent directories and Name attribute. This attribute must be set if no source information can be gathered from parent directories. For more information, see Specifying source files. - - - - - - - - - - - - - This attribute must be set for patch-added files. Each patch should be assigned a different patch group number. Patch groups - numbers must be greater 0 and should be assigned consecutively. For example, the first patch should use PatchGroup='1', the - second patch will have PatchGroup='2', etc... - - - - - - Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images. - - - - - Set to indicate that the patch is non-vital. - - - - - Set if the entire file should be installed rather than creating a binary patch. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Use several of these elements to specify each registry value in a multiString registry value. This element - cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The - values should go in the text area of the MultiStringValue element. - - - - - - - - - - Used for organization of child RegistryValue elements or to create a registry key - (and optionally remove it during uninstallation). - - - - How To: Read a registry entry during installation - How To: Write a registry entry during installation - - - - - - - - - ACL permission - - - - - Can also configure the ACLs for this registry key. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - The Action attribute has been deprecated. In most cases, you can simply omit @Action. If you need to force Windows Installer - to create an empty key or recursively delete the key, use the ForceCreateOnInstall or ForceDeleteOnUninstall attributes instead. - - - - - - - - Creates the key, if absent, when the parent component is installed. - - - - - - - Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled. - Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already - removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. - - - - - - - Does nothing; this element is used merely in WiX authoring for organization and does nothing to the final output. - This is the default value. - - - - - - - - - - Set this attribute to 'yes' to create an empty key, if absent, when the parent component is installed. - This value is needed only to create an empty key with no subkeys or values. Windows Installer creates - keys as needed to store subkeys and values. The default is "no". - - - - - - - Set this attribute to 'yes' to remove the key with all its values and subkeys when the parent component is uninstalled. - Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already - removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. - The default is "no". - - - - - - - The localizable key for the registry value. - If the parent element is a RegistryKey, this value may be omitted to use the - path of the parent, or if its specified it will be appended to the path of the parent. - - - - - - - The predefined root key for the registry value. - - - - - - - - - Used to create a registry value. For multi-string values, this can be used to prepend or append values. - - For legacy authoring: Use several of these elements to specify each registry value in a multiString registry value. This element - cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The - values should go in the text area of the RegistryValue element. - - - - How To: Write a registry entry during installation - - - - - - - - Can also configure the ACLs for this registry value. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - The predefined root key for the registry value. - - - - - - - The localizable key for the registry value. - If the parent element is a RegistryKey, this value may be omitted to use the - path of the parent, or if its specified it will be appended to the path of the parent. - - - - - - - The localizable registry value name. If this attribute is not provided the default value for the registry key will - be set instead. The Windows Installer allows several special values to be set for this attribute. You should not - use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. - - - - - - - Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows - several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate - values in the Type attribute to get the desired behavior. - - - - - - - - Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value - attribute or a child RegistryValue element is specified. This attribute - should only be set when the value of the Action attribute does not include the word 'remove'. - - - - - - - - The value is interpreted and stored as a string (REG_SZ). - - - - - - - The value is interpreted and stored as an integer (REG_DWORD). - - - - - - - The value is interpreted and stored as a hexadecimal value (REG_BINARY). - - - - - - - The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). - - - - - - - The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). - Please note that this value will only result in a multi-string value if there is more than one registry value - or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created. - - - - - - - - - - This is the action that will be taken for this registry value. - - - - - - - - Appends the specified value(s) to a multiString registry value. - - - - - - - Prepends the specified value(s) to a multiString registry value. - - - - - - - Writes a registry value. This is the default value. - - - - - - - - - - Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. - Only one resource (registry, file, etc) can be the KeyPath of a component. - - - - - - - - - Used for removing registry keys and all child keys either during install or uninstall. - - - - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - This is the action that will be taken for this registry value. - - - - - - - - Removes a key with all its values and subkeys when the parent component is installed. - - - - - - - Removes a key with all its values and subkeys when the parent component is uninstalled. - - - - - - - - - - The localizable key for the registry value. - - - - - - - The predefined root key for the registry value. - - - - - - - - - Used to remove a registry value during installation. - There is no standard way to remove a single registry value during uninstall (but you can remove an entire key with RemoveRegistryKey). - - - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - The localizable key for the registry value. - If the parent element is a RegistryKey, this value may be omitted to use the - path of the parent, or if its specified it will be appended to the path of the parent. - - - - - - - The localizable registry value name. If this attribute is not provided the default value for the registry key will - be set instead. The Windows Installer allows several special values to be set for this attribute. You should not - use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. - - - - - - - The predefined root key for the registry value. - - - - - - - - - - - - - - - - - - Can also configure the ACLs for this registry key. - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - This is the action that will be taken for this registry key. - - - - - - - - Appends the specified value(s) to a multiString registry key. - - - - - - - Creates the key, if absent, when the parent component is installed. - - - - - - - Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled. - - - - - - - Prepends the specified value(s) to a multiString registry key. - - - - - - - Removes a registry name when the parent component is installed. - - - - - - - Removes a key with all its values and subkeys when the parent component is installed. - - - - - - - Removes a key with all its values and subkeys when the parent component is uninstalled. - - - - - - - Writes a registry value. - - - - - - - - - The localizable key for the registry value. - - - - - - Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. Only one resource (registry, - file, etc) can be the KeyPath of a component. - - - - - - - The localizable registry value name. If this attribute is not provided the default value for the registry key will - be set instead. The Windows Installer allows several special values to be set for this attribute. You should not - use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. - - - - - - - The predefined root key for the registry value. - - - - - - - Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value - attribute or a child RegistryValue element is specified. This attribute - should only be set when the value of the Action attribute does not include the word 'remove'. - - - - - - - - The value is interpreted and stored as a string (REG_SZ). - - - - - - - The value is interpreted and stored as an integer (REG_DWORD). - - - - - - - The value is interpreted and stored as a hexadecimal value (REG_BINARY). - - - - - - - The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). - - - - - - - The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). - Please note that this value will only result in a multi-string value if there is more than one registry value - or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created. - - - - - - - - - - Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows - several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate - values in the Type attribute to get the desired behavior. This attribute cannot be specified if the Action - attribute's value contains the word 'remove'. - - - - - - - - - - - - - Remove a file(s) if the parent component is selected for installation or removal. Multiple files can be removed - by specifying a wildcard for the value of the Name attribute. By default, the source - directory of the file is the directory of the parent component. This can be overridden by specifying the - Directory attribute with a value corresponding to the Id of the source directory, or by specifying the Property - attribute with a value corresponding to a property that will have a value that resolves to the full path - to the source directory. - - - - - - Primary key used to identify this particular entry. - - - - - - Overrides the directory of the parent component with a specific Directory. This Directory must exist in the - installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute. - - - - - - - Overrides the directory of the parent component with the value of the specified property. The property - should have a value that resolves to the full path of the source directory. The property does not have - to exist in the installer database at creation time; it could be created at installation time by a custom - action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute. - - - - - - - This value should be set to the localizable name of the file(s) to be removed. All of the files that - match the wild card will be removed from the specified directory. The value is a filename that may also - contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. - In prior versions of the WiX toolset, this attribute specified the short file name. - This attribute's value may now be either a short or long file name. - If a short file name is specified, the ShortName attribute may not be specified. - Also, if this value is a long file name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short file name. - However, if you wish to manually specify the short file name, then the ShortName attribute may be specified. - - - - - - - The short file name of the file in 8.3 format. - This attribute should only be set if you want to manually specify the short file name. - - - - - - - This value determines the time at which the file(s) may be removed. For 'install', the file will - be removed only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the file will be removed only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the file will be removed in both cases. - - - - - - - - - - - - - Remove an empty folder if the parent component is selected for installation or removal. By default, the folder - is the directory of the parent component. This can be overridden by specifying the Directory attribute - with a value corresponding to the Id of the directory, or by specifying the Property attribute with a value - corresponding to a property that will have a value that resolves to the full path of the folder. - - - - - - Primary key used to identify this particular entry. - - - - - - Overrides the directory of the parent component with a specific Directory. This Directory must exist in the - installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute. - - - - - - - Overrides the directory of the parent component with the value of the specified property. The property - should have a value that resolves to the full path of the source directory. The property does not have - to exist in the installer database at creation time; it could be created at installation time by a custom - action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute. - - - - - - - This value determines the time at which the folder may be removed, based on the install/uninstall of the parent component. - For 'install', the folder will be removed only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the folder will be removed only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the folder will be removed in both cases. - - - - - - - - - - - - Create folder as part of parent Component. - - - - - - Non-advertised shortcut to this folder, Shortcut Target is preset to the folder - - - - - ACL permission - - - - - Can also configure the ACLs for this folder. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Identifier of Directory to create. Defaults to Directory of parent Component. - - - - - - - Optional way for defining AppData, generally used for complex CDATA. - - - - - - Qualified published component for parent Component - - - - - - - - - - - - A string GUID that represents the category of components being grouped together. - - - - - A text string that qualifies the value in the Id attribute. A qualifier is used to distinguish multiple forms of the same Component, such as a Component that is implemented in multiple languages. - - - - - An optional localizable text describing the category. The string is commonly parsed by the application and can be displayed to the user. It should describe the category. - - - - - Feature that controls the advertisement of the category. Defaults to the primary Feature for the parent Component . - - - - - - - - MIME content-type for an Extension - - - - - - - - - Whether this MIME is to be advertised. The default is to match whatever the parent extension element uses. If the parent element is not advertised, then this element cannot be advertised either. - - - - - This is the identifier for the MIME content. It is commonly written in the form of type/format. - - - - - Class ID for the COM server that is to be associated with the MIME content. - - - - - If 'yes', become the content type for the parent Extension. The default value is 'no'. - - - - - - - - Verb definition for an Extension. When advertised, this element creates a row in the - Verb table. - When not advertised, this element creates the appropriate rows in Registry table. - - - - - - - - - - The verb for the command. - - - - - The localized text displayed on the context menu. - - - - - Value for the command arguments. Note that the resolution of properties in the - Argument field is limited. A property formatted as [Property] in this field can only be resolved if the property - already has the intended value when the component owning the verb is installed. For example, for the argument - "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the - component that owns the verb. - - - - - The sequence of the commands. Only verbs for which the Sequence is specified - are used to prepare an ordered list for the default value of the shell key. The Verb with the lowest value in this - column becomes the default verb. Used only for Advertised verbs. - - - - - - - - - - - - - Either this attribute or the TargetProperty attribute must be specified for a non-advertised verb. - The value should be the identifier of the target file to be executed for the verb. - - - - - - - Either this attribute or the TargetFile attribute must be specified for a non-advertised verb. - The value should be the identifier of the property which will resolve to the path to the target file to be executed for the verb. - - - - - - - - - Extension for a Component - - - - - - - - - - - MIME and Verbs can be associated with Extensions - - - - - - - This is simply the file extension, like "doc" or "xml". Do not include the preceding period. - - - - - The MIME type that is to be written. - - - - - Whether this extension is to be advertised. The default is "no". - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Register a type library (TypeLib). Please note that in order to properly use this - non-advertised, you will need use this element with Advertise='no' and also author the - appropriate child Interface elements by extracting them from the type library itself. - - - - - - - - - - - - - - - The GUID that identifes the type library. - - - - - - Value of 'yes' will create a row in the TypeLib table. - Value of 'no' will create rows in the Registry table. - The default value is 'no'. - - - - - - - Value of 'yes' means the type library describes controls, and should not be displayed in type browsers intended for nonvisual objects. - This attribute can only be set if Advertise='no'. - - - - - - - The cost associated with the registration of the type library in bytes. This attribute cannot be set if Advertise='no'. - - - - - - The localizable description of the type library. - - - - - - Value of 'yes' means the type library exists in a persisted form on disk. This attribute can only be set if Advertise='no'. - - - - - - The identifier of the Directory element for the help directory. - - - - - - Value of 'yes' means the type library should not be displayed to users, although its use is not restricted. - Should be used by controls. Hosts should create a new type library that wraps the control with extended properties. - This attribute can only be set if Advertise='no'. - - - - - - The language of the type library. This must be a non-negative integer. - - - - - The major version of the type library. The value should be an integer from 0 - 255. - - - - - The minor version of the type library. The value should be an integer from 0 - 255. - - - - - The resource id of a typelib. The value is appended to the end of the typelib path in the registry. - - - - - - Value of 'yes' means the type library is restricted, and should not be displayed to users. This attribute can only be set if Advertise='no'. - - - - - - - - - ProgId registration for parent Component. If ProgId has an associated Class, it must be a child of that element. - - - - - - - - - - - - - The version-independent ProgId must be the first child element of actual ProgId. Nesting other ProgId elements within the Version-independent ProgId will create COM+ aliases, see http://support.microsoft.com/kb/305745 for more information. - - - - - Extensions that refer to this ProgId - - - - - - - - For an advertised ProgId, the Id of an Icon element. For a non-advertised ProgId, this is the Id of a file containing an icon resource. - - - - - - - Specifies that the associated ProgId should not be opened by users. The value is presented as a warning to users. An empty string is also valid for this attribute. - - - - - - - - Application ID containing DCOM information for the associated application GUID. - If this element is nested under a Fragment, Module, or Product element, it must be - advertised. - - - - - - When being used in unadvertised mode, the attributes in the AppId element correspond to registry keys - as follows (values that can be specified in authoring are in bold): - IdIn General - [HKCR\AppID\{Id}]Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]ActivateAtStorageIn General - [HKCR\AppID\{Id}] - ActivateAtStorage="ActivateAtStorage" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - ActivateAtStorage="Y" - DescriptionIn General - [HKCR\AppID\{Id}] - @="Description" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - @="My AppId Description" - DllSurrogateIn General - [HKCR\AppID\{Id}] - DllSurrogate="DllSurrogate" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - DllSurrogate="C:\surrogate.exe" - LocalServiceIn General - [HKCR\AppID\{Id}] - LocalService="LocalService" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - LocalService="MyServiceName" - RemoteServerNameIn General - [HKCR\AppID\{Id}] - RemoteServerName="RemoteServerName" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - RemoteServerName="MyRemoteServer" - RunAsInteractiveUserIn General - [HKCR\AppID\{Id}] - RunAs="RunAsInteractiveUser" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - RunAs="Interactive User" - ServiceParametersIn General - [HKCR\AppID\{Id}] - ServiceParameters="ServiceParameters" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - ServiceParameters="-param" - - - - - - - - - - - Set this value to 'yes' to configure the client to activate on the same system as persistent storage. - - - - - - - Set this value to 'yes' in order to create a normal AppId table row. Set this value to 'no' in order to - generate Registry rows that perform similar registration (without the often problematic Windows Installer - advertising behavior). - - - - - - - Set this value to the description of the AppId. It can only be specified when the AppId is not being advertised. - - - - - - - Set this value to specify that the class is a DLL that is to be activated in a surrogate EXE - process, and the surrogate process to be used is the path of a surrogate EXE file specified by the value. - - - - - - - Set this value to the AppID GUID that corresponds to the named executable. - - - - - - - Set this value to the name of a service to allow the object to be installed as a Win32 service. - - - - - - - Set this value to the name of the remote server to configure the client to request the object - be run at a particular machine whenever an activation function is called for which a COSERVERINFO - structure is not specified. - - - - - - - Set this value to 'yes' to configure a class to run under the identity of the user currently - logged on and connected to the interactive desktop when activated by a remote client without - being written as a Win32 service. - - - - - - - Set this value to the parameters to be passed to a LocalService on invocation. - - - - - - - - COM Class registration for parent Component. - - - - - - - - When being used in unadvertised mode, the attributes in the Class element correspond to registry keys - as follows (values that can be specified in authoring are in bold): - Id/Context/ServerIn General - [HKCR\CLSID\{Id}\Context1] - @="[!Server]" - [HKCR\CLSID\{Id}\Context2] - @="[!Server]" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer] - @="[!comserv.dll]" - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] - @="[!comserv.dll]" - Id/Context/ForeignServerIn General - [HKCR\CLSID\{Id}\Context1] - @="ForeignServer" - [HKCR\CLSID\{Id}\Context2] - @="ForeignServer" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer] - @="mscoree.dll" - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] - @="mscoree.dll" - AppIdIn General - [HKCR\CLSID\{Id}] - AppId="{AppId}" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - AppId="{00000000-89AB-0000-0123-000000000000}" - ArgumentIn General - [HKCR\CLSID\{Id}\Context] - @="[!Server] Argument" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] - @="[!comserv.dll] /arg1 /arg2 /arg3"ControlIn General - Value "yes" specified: - [HKCR\CLSID\{Id}\Control] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Control] - DescriptionIn General - [HKCR\CLSID\{Id}] - @="Description" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - @="Description of Example COM Component" - HandlerIn General - Value "1" specified: - [HKCR\CLSID\{Id}\InprocHandler] - @="ole.dll" - Value "2" specified: - [HKCR\CLSID\{Id}\InprocHandler32] - @="ole32.dll" - Value "3" specified: - [HKCR\CLSID\{Id}\InprocHandler] - @="ole.dll" - [HKCR\CLSID\{Id}\InprocHandler32] - @="ole32.dll" - Other value specified: - [HKCR\CLSID\{Id}\InprocHandler32] - @="Handler" - Specific Example (for other value) - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\InprocHandler32] - @="handler.dll" - Icon/IconIndexThis is not currently handled properly.InsertableIn General - Value "no" specified: - [HKCR\CLSID\{Id}\NotInsertable] - Value "yes" specified: - [HKCR\CLSID\{Id}\Insertable] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Insertable] - ProgrammableIn General - Value "yes" specified: - [HKCR\CLSID\{Id}\Programmable] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Programmable] - RelativePathUnsupported. Please contribute this back to WiX if you know.SafeForInitializingIn General - Value "yes" specified: - [HKCR\CLSID\{Id}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}] - SafeForScriptingIn General - Value "yes" specified: - [HKCR\CLSID\{Id}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}] - ThreadingModelIn General - [HKCR\CLSID\{Id}\Context] - ThreadingModel="ThreadingModel" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] - ThreadingModel="Apartment" - TypeLibId (from parent TypeLib/@Id)In General - [HKCR\CLSID\{Id}\TypeLib] - @="{TypeLibId}" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\TypeLib] - @="{11111111-89AB-1111-0123-111111111111}" - VersionIn General - [HKCR\CLSID\{Id}\Version] - @="Version" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Version] - @="1.0.0.0" - - - - - - - - A ProgId associated with Class must be a child element of the Class element - - - - - - These Interfaces will be registered with the parent Class and TypeLib (if present). - - - - - - The Class identifier (CLSID) of a COM server. - - - - - - The server context(s) for this COM server. This attribute is optional for VB6 libraries that are marked "PublicNotCreateable". - Class elements marked Advertised must specify at least one server context. It is most common for there to be a single value - for the Context attribute. - - - - - - - - - - A 16-bit local server application. - - - - - - - A 32-bit local server application. - - - - - - - A 16-bit in-process server DLL. - - - - - - - A 32-bit in-process server DLL. - - - - - - - - - - - Localized description associated with the Class ID and Program ID. - - - - - - This attribute is only allowed when a Class is advertised. Using this attribute will reference an Application ID - containing DCOM information for the associated application GUID. The value must correspond to an AppId/@Id of an - AppId element nested under a Fragment, Module, or Product element. To associate an AppId with a non-advertised - class, nest the class within a parent AppId element. - - - - - - - The file providing the icon associated with this CLSID. Reference to an Icon element - (should match the Id attribute of an Icon element). This is currently not supported if the - value of the Advertise attribute is "no". - - - - - - Icon index into the icon file. - - - - - - The default inproc handler. May be optionally provided only for Context = LocalServer or - LocalServer32. Value of "1" creates a 16-bit InprocHandler (appearing as the InprocHandler - value). Value of "2" creates a 32-bit InprocHandler (appearing as the InprocHandler32 value). - Value of "3" creates 16-bit as well as 32-bit InprocHandlers. A non-numeric value is treated - as a system file that serves as the 32-bit InprocHandler (appearing as the InprocHandler32 value). - - - - - - - This column is optional only when the Context column is set to "LocalServer" - or "LocalServer32" server context. The text is registered as the argument against - the OLE server and is used by OLE for invoking the server. Note that the resolution - of properties in the Argument field is limited. A property formatted as [Property] in - this field can only be resolved if the property already has the intended value when - the component owning the class is installed. For example, for the argument "[#MyDoc.doc]" - to resolve to the correct value, the same process must be installing the file MyDoc.doc and the - component that owns the class. - - - - - - - When the value is "yes", the bare file name can be used for COM servers. The installer - registers the file name only instead of the complete path. This enables the server in - the current directory to take precedence and allows multiple copies of the same component. - - - - - - - Set this value to "yes" in order to create a normal Class table row. Set this value to - "no" in order to generate Registry rows that perform similar registration (without the - often problematic Windows Installer advertising behavior). - - - - - - - - Threading model for the CLSID. - - - - - - - - - - - - - - - - - Version for the CLSID. - - - - - - - Specifies the CLSID may be insertable. - - - - - - - Specifies the CLSID may be programmable. - - - - - - - May only be specified if the value of the Advertise attribute is "no" and Server has not been specified. In addition, it may only - be used when the Class element is directly under the Component element. The value can be - that of an registry type (REG_SZ). This attribute should be used to specify foreign servers, such as mscoree.dll if needed. - - - - - - - May only be specified if the value of the Advertise attribute is "no" and the ForeignServer attribute is not specified. File Id of the - COM server file. If this element is nested under a File element, this value defaults to - the value of the parent File/@Id. - - - - - - - Specifies whether or not to use the short path for the COM server. This can only apply when Advertise is set to 'no'. The default is 'no' meaning that it will use the long file name for the COM server. - - - - - - - May only be specified if the value of the Advertise attribute is "no". - - - - - - - May only be specified if the value of the Advertise attribute is "no". - - - - - - - Set this attribute's value to 'yes' to identify an object as an ActiveX Control. The default value is 'no'. - - - - - - - - COM Interface registration for parent TypeLib. - - - - - - - - GUID identifier for COM Interface. - - - - - Name for COM Interface. - - - - - Identifies the interface from which the current interface is derived. - - - - - GUID CLSID for proxy stub to COM Interface. - - - - - GUID CLSID for 32-bit proxy stub to COM Interface. - - - - - Number of methods implemented on COM Interface. - - - - - Determines whether a Typelib version entry should be created with the other COM Interface registry keys. Default is 'yes'. - - - - - - - FileType data for class Id registration. - - - - - Offset into file. If positive, offset is from the beginning; if negative, offset is from the end. - - - - - Hex value that is AND'd against the bytes in the file at Offset. - - - - - If the result of the AND'ing of Mask with the bytes in the file is Value, the file is a match for this File Type. - - - - - - - - Service or group of services that must start before the parent service. - - - - - - - - - - The value of this attribute should be one of the following: - The name (not the display name) of a previously installed service.The name of a service group (in which case the Group attribute must be set to 'yes'). - - - - - - Set to 'yes' to indicate that the value in the Id attribute is the name of a group of services. - - - - - - - - - Adds services for parent Component. Use the ServiceControl element to remove services. - - - - - The service executable installed will point to the KeyPath for the Component. - Therefore, you must ensure that the correct executable is either the first child - File element under this Component or explicitly mark the appropriate File element - as KeyPath='yes'. - - - - - - - - Configures the ACLs for this service. - - - - - Ordered list of dependencies when installing services. - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Unique identifier for this service configuration. This value will default to the Name attribute if not - specified. - - - - - - This column is the string that gives the service name to install. - - - - - This column is the localizable string that user interface programs use to identify the service. - - - - - The Windows Installer does not currently support kernelDriver or systemDriver. - - - - - - - A Win32 service that runs its own process. - - - - - - - A Win32 service that shares a process. - - - - - - - A kernel driver service. This value is not currently supported by the Windows Installer. - - - - - - - A file system driver service. This value is not currently supported by the Windows Installer. - - - - - - - - - Whether or not the service interacts with the desktop. - - - - - Determines when the service should be started. The Windows Installer does not support boot or system. - - - - - - - The service will start during startup of the system. - - - - - - - The service will start when the service control manager calls the StartService function. - - - - - - - The service can no longer be started. - - - - - - - The service is a device driver that will be started by the operating system boot loader. This value is not currently supported by the Windows Installer. - - - - - - - The service is a device driver that will be started by the IoInitSystem function. This value is not currently supported by the Windows Installer. - - - - - - - - - Determines what action should be taken on an error. - - - - - - - Logs the error and continues with the startup operation. - - - - - - - Logs the error, displays a message box and continues the startup operation. - - - - - - - Logs the error if it is possible and the system is restarted with the last configuration known to be good. If the last-known-good configuration is being started, the startup operation fails. - - - - - - - - - The overall install should fail if this service fails to install. - - - - - The load ordering group that this service should be a part of. - - - - - Fully qualified names must be used even for local accounts, e.g.: ".\LOCAL_ACCOUNT". Valid only when ServiceType is ownProcess. - - - - - The password for the account. Valid only when the account has a password. - - - - - Contains any command line arguments or properties required to run the service. - - - - - Sets the description of the service. - - - - - Determines whether the existing service description will be ignored. If 'yes', the service description will be null, even if the Description attribute is set. - - - - - - - - Argument used in ServiceControl parent - - - - - - - - - - Starts, stops, and removes services for parent Component. This element is used to control the state - of a service installed by the MSI or MSM file by using the start, stop and remove attributes. - For example, Start='install' Stop='both' Remove='uninstall' would mean: start the service on install, - remove the service when the product is uninstalled, and stop the service both on install and uninstall. - - - - - - - - - - Ordered list of arguments used when modifying services. - - - - - - - Name of the service. - - - - - - Specifies whether the service should be started by the StartServices action on install, uninstall or both. - For 'install', the service will be started only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the service will be started only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the service will be started in both cases. - - - - - - - Specifies whether the service should be stopped by the StopServices action on install, uninstall or both. - For 'install', the service will be stopped only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the service will be stopped only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the service will be stopped in both cases. - - - - - - - Specifies whether the service should be removed by the DeleteServices action on install, uninstall or both. - For 'install', the service will be removed only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the service will be removed only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the service will be removed in both cases. - - - - - - Specifies whether or not to wait for the service to complete before continuing. The default is 'yes'. - - - - - - - - Privilege required by service configured by ServiceConfig parent. Valid values are a privilege constant or a - Formatted property that resolves to a privilege constant. - - - - - - - - - - Configures a service being installed or one that already exists. This element's functionality is available starting with MSI 5.0. - - - - - - - - - - List of privileges to apply to service. - - - - - - - Unique identifier for this service configuration. This value will default to the ServiceName attribute if not - specified. - - - - - - - This attribute specifies whether an auto-start service should delay its start until after all other auto-start - services. This attribute only affects auto-start services. Allowed values are "yes", "no" or a Formatted property that - resolves to "1" (for "yes") or "0" (for "no"). If this attribute is not present the setting is not configured. - - - - - - - This attribute specifies when failure actions should be applied. Allowed values are "failedToStop", "failedToStopOrReturnedError" - or a Formatted property that resolves to "1" (for "failedToStopOrReturnedError") or "0" (for "failedToStop"). If this attribute - is not present the setting is not configured. - - - - - - - This attribute specifies time in milliseconds that the Service Control Manager (SCM) waits after notifying the service of a system - shutdown. If this attribute is not present the default value, 3 minutes, is used. - - - - - - - Specifies whether to configure the service when the parent Component is installed. This attribute may be combined with OnReinstall - and OnUninstall. - - - - - - - Specifies whether to configure the service when the parent Component is reinstalled. This attribute may be combined with OnInstall - and OnUninstall. - - - - - - - Specifies whether to configure the service when the parent Component is uninstalled. This attribute may be combined with OnInstall - and OnReinstall. - - - - - - - Specifies the name of the service to configure. This value will default to the ServiceInstall/@Name attribute when nested under - a ServiceInstall element. - - - - - - - Specifies the service SID to apply to the service. Valid values are "none", "restricted", "unrestricted" or a Formatted property - that resolves to "0" (for "none"), "3" (for "restricted") or "1" (for "unrestricted"). If this attribute is not present the - setting is not configured. - - - - - - - - Failure action for a ServiceConfigFailureActions element. - - - - - - Specifies the action to take when the service fails. Valid values are "none", "restartComputer", "restartService", "runCommand" or a Formatted property - that resolves to "0" (for "none"), "1" (for "restartService"), "2" (for "restartComputer") or "3" (for "runCommand"). - - - - - - - Specifies the time in milliseconds to wait before performing the value from the Action attribute. - - - - - - - - - Configures the failure actions for a service being installed or one that already exists. This element's functionality is available starting with MSI 5.0. - - - - - - - - - - Ordered list of failure actions to apply to service. - - - - - - - Unique identifier for this service configuration. This value will default to the ServiceName attribute if not - specified. - - - - - - - This attribute specifies command to execute when a "runCommand" failure action hit. If an empty string is provided it clears - the existing command. If this attribute is not present the setting is not changed. - - - - - - - Specifies whether to configure the service when the parent Component is installed. This attribute may be combined with OnReinstall - and OnUninstall. - - - - - - - Specifies whether to configure the service when the parent Component is reinstalled. This attribute may be combined with OnInstall - and OnUninstall. - - - - - - - Specifies whether to configure the service when the parent Component is uninstalled. This attribute may be combined with OnInstall - and OnReinstall. - - - - - - - Specifies the message to show for a reboot failure action. If an empty string is provided it clears any existing reboot message. If this - attribute is not present the setting is not changed. - - - - - - - Specifies the time in seconds to reset the failure count. If this attribute is not present the failure count will not be reset. - - - - - - - Specifies the name of the service to configure. This value will default to the ServiceInstall/@Name attribute when nested under - a ServiceInstall element. - - - - - - - - - Environment variables added or removed for the parent component. - - - - - - - - - Unique identifier for environment entry. - - - - - Name of the environment variable. - - - - - - The value to set into the environment variable. - If this attribute is not set, the environment variable is removed during installation if it exists on the machine. - - - - - - Optional attribute to change the separator used between values. By default a semicolon is used. - - - - - Specfies whether the environmental variable should be created, set or removed when the parent component is installed. - - - - - - Creates the environment variable if it does not exist, then set it during installation. This has no effect on the value of the environment variable if it already exists. - - - - - Creates the environment variable if it does not exist, and then set it during installation. If the environment variable exists, set it during the installation. - - - - - - Removes the environment variable during an installation. - The installer only removes an environment variable during an installation if the name and value - of the variable match the entries in the Name and Value attributes. - If you want to remove an environment variable, regardless of its value, do not set the Value attribute. - - - - - - - - - - - - - This value is the entire environmental variable. This is the default. - - - - - - - This value is prefixed. - - - - - - - This value is appended. - - - - - - - - - Specifies that the environment variable should not be removed on uninstall. - - - - - - Specifies that the environment variable should be added to the system environment space. The default - is 'no' which indicates the environment variable is added to the user environment space. - - - - - - - - - Conditions for components, controls, features, and products. The condition is specified in the inner text of the element. - - - - - - - How To: Block installation based on OS version - How To: Check the version number of a file during installation - - - - - - - - Under a Component element, the condition becomes the condition of the component. Under a Control element, - the condition becomes a ControlCondition entry. Under a Feature element, the condition becomes a Condition - entry. Under a Fragment or Product element, the condition becomes a LaunchCondition entry. - - - - - - Used only under Control elements and is required. Allows specific actions to be applied to a control based - on the result of this condition. - - - - - - - - Set the Control as the default. Only used under Control elements. - - - - - - - Enable the Control. Only used under Control elements. - - - - - - - Disable the Control. Only used under Control elements. - - - - - - - Hide the Control. Only used under Control elements. - - - - - - - Display the Control. Only used under Control elements. - - - - - - - - - - Used only under Feature elements and is required. Allows modifying the level of a Feature based on the - result of this condition. - - - - - - - Used only under Fragment or Product elements and is required. Set the value to the text to display when the - condition fails and the installation must be terminated. - - - - - - - - - - - Shared Component to be privately replicated in folder of parent Component - - - - - - - - - Shared Component for this application Component. - - - - - - - - Disk cost to reserve in a folder for running locally and/or from source. - - - - - - - - - A primary key that uniquely identifies this ReserveCost entry. - - - - - - Adds the amount of disk space specified in RunFromSource or RunLocal to the volume cost of the device containing the directory. - If this attribute is not set, it will default to the directory of parent component. - - - - - - The number of bytes of disk space to reserve if the component is installed to run from source. - - - - - The number of bytes of disk space to reserve if the component is installed to run locally. - - - - - - - Component for parent Directory - - - - - - - How To: Add a file to your installer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Component identifier; this is the primary key for identifying components. If omitted, - the compiler defaults the identifier to the identifier of the resource that is the - explicit keypath of the component (for example, a child File element with KeyPath - attribute with value 'yes'. - - - - - - - Set this attribute to create a ComPlus entry. The value should be the export flags used - during the generation of the .msi file. For more information see the COM+ documentation - in the Platform SDK. - - - - - - - Set this attribute to 'yes' in order to disable registry reflection on all existing and - new registry keys affected by this component. - When set to 'yes', the Windows Installer calls the RegDisableReflectionKey on each key - being accessed by the component. - This bit is available with Windows Installer version 4.0 and is ignored on 32-bit systems. - - - - - - - Sets the Directory of the Component. If this element is nested under a Directory element, - this value defaults to the value of the parent Directory/@Id. - - - - - - - This attribute provides a default DiskId attribute for all child File elements. Specifying - the DiskId on a Component element will override any DiskId attributes set by parent Directory - or DirectoryRef elements. See the File element's DiskId attribute for more information about - the purpose of the DiskId. - - - - - - - Identifies a feature to which this component belongs, as a shorthand for a child - ComponentRef element of the Feature element. The value of this attribute should - correspond to the Id attribute of a Feature element authored elsewhere. Note that - a single component can belong to multiple features but this attribute allows you - to specify only a single feature. - - - - - - - This value should be a guid that uniquely identifies this component's contents, language, platform, and version. - If omitted, the default value is '*' which indicates that the linker should generate a stable guid. - Generatable guids are supported only for components with a single file as the component's keypath - or no files and a registry value as the keypath. - It's also possible to set the value to an empty string to specify an unmanaged component. - Unmanaged components are a security vulnerability because the component cannot be removed or repaired - by Windows Installer (it is essentially an unpatchable, permanent component). Therefore, a guid should - always be specified for any component which contains resources that may need to be patched in the future. - - - - - - - If this attribute's value is set to 'yes', then the Directory of this Component is used - as the KeyPath. To set a Registry value or File as the KeyPath of a component, set the - KeyPath attribute to 'yes' on one of those child elements. If KeyPath is not set to 'yes' for the - Component or for a child Registry value or File, WiX will look at the child elements under the - Component in sequential order and try to automatically select one of them as a key path. Allowing - WiX to automatically select a key path can be dangerous because adding or removing child elements - under the Component can inadvertantly cause the key path to change, which can lead to - installation problems. - - - - - - - Optional value that specifies the location that the component can be run from. - - - - - - - - Prevents the component from running from the source or the network (this is the default behavior if this attribute is not set). - - - - - - - Enforces that the component can only be run from the source (it cannot be run from the user's computer). - - - - - - - Allows the component to run from source or locally. - - - - - - - - - - If this attribute is set to 'yes', a new Component/@Guid will be generated for each - instance transform. Ensure that all of the resources contained in a multi-instance - Component will be installed to different paths based on the instance Property; otherwise, - the Component Rules will be violated. - - - - - - - If this attribute is set to 'yes', the installer does not install or reinstall the - component if a key path file or a key path registry entry for the component already - exists. The application does register itself as a client of the component. Use this - flag only for components that are being registered by the Registry table. Do not use - this flag for components registered by the AppId, Class, Extension, ProgId, MIME, and - Verb tables. - - - - - - - If this attribute is set to 'yes', the installer does not remove the component during - an uninstall. The installer registers an extra system client for the component in - the Windows Installer registry settings (which basically just means that at least one - product is always referencing this component). Note that this option differs from the - behavior of not setting a guid because although the component is permanent, it is still - patchable (because Windows Installer still tracks it), it's just not uninstallable. - - - - - - - If this attribute's value is set to 'yes', enables advanced patching semantics for - Components that are shared across multiple Products. Specifically, the Windows Installer - will cache the shared files to improve patch uninstall. This functionality is available - in Windows Installer 4.5 and later. - - - - - - - If this attribute's value is set to 'yes', the installer increments the reference count - in the shared DLL registry of the component's key file. If this bit is not set, the - installer increments the reference count only if the reference count already exists. - - - - - - - If this attribute is set to 'yes', the installer reevaluates the value of the statement - in the Condition upon a reinstall. If the value was previously False and has changed to - True, the installer installs the component. If the value was previously True and has - changed to False, the installer removes the component even if the component has other - products as clients. - - - - - - - If this attribute is set to 'yes', the installer will uninstall the Component's files - and registry keys when it is superseded by a patch. This functionality is available in - Windows Installer 4.5 and later. - - - - - - - Set this attribute to 'yes' to mark this as a 64-bit component. This attribute facilitates - the installation of packages that include both 32-bit and 64-bit components. If this is a 64-bit - component replacing a 32-bit component, set this attribute to 'yes' and assign a new GUID in the Guid attribute. - The default value is based on the platform set by the -arch switch to candle.exe - or the InstallerPlatform property in a .wixproj MSBuild project: - For x86 and ARM, the default value is 'no'. - For x64 and IA64, the default value is 'yes'. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Groups together multiple components to be used in other locations. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Identifier for the ComponentGroup. - - - - - - Sets the default directory identifier for child Component elements. - - - - - - - Used to set the default file system source for child Component elements. For more information, see - Specifying source files. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a ComponentGroup in another Fragment. - - - - - - - - The identifier of the ComponentGroup to reference. - - - - - - Set this attribute to 'yes' in order to make the parent feature of this component - the primary feature for this component. Components may belong to multiple features. - By designating a feature as the primary feature of a component, you ensure that - whenever a component is selected for install-on-demand (IOD), the primary feature - will be the one to install it. This attribute should only be set if a component - actually nests under multiple features. If a component nests under only one feature, - that feature is the primary feature for the component. You cannot set more than one - feature as the primary feature of a given component. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Used only for PatchFamilies to include all changes between the baseline and upgraded packages in a patch. - - - Warning: this is intended for testing purposes only. Shipping a patch with all changes negates the benefits of using patch families for including only specific changes. - Because changing the ProductCode is not supported in a patch, the ProductCode property is automatically removed from the transform. - - - - - - - Used only for PatchFamilies to include only a binary table entry in a patch. - - - - - The identifier of the Binary element to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Used only for PatchFamilies to include only a icon table entry in a patch. - - - - - The identifier of the Icon element to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a Feature element in another Fragment. - - - How To: Add a file to your installer - - - - - - The identifier of the Component element to reference. - - - - - - Set this attribute to 'yes' in order to make the parent feature of this component - the primary feature for this component. Components may belong to multiple features. - By designating a feature as the primary feature of a component, you ensure that - whenever a component is selected for install-on-demand (IOD), the primary feature - will be the one to install it. This attribute should only be set if a component - actually nests under multiple features. If a component nests under only one feature, - that feature is the primary feature for the component. You cannot set more than one - feature as the primary feature of a given component. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - How To: Install the Visual C++ Redistributable with your installer - - Merge directive to bring in a merge module that will be redirected to the parent directory. - - - - - - Data to use as input to a configurable merge module. - - - - - - The unique identifier for the Merge element in the source code. Referenced by the MergeRef/@Id. - - - - - The value of this attribute should correspond to the Id attribute of a - Media element authored elsewhere. By creating this connection between the merge module and Media - element, you set the packaging options to the values specified in the Media - element (values such as compression level, cab embedding, etc...). - - - - - Specifies if the files in the merge module should be compressed. - - - - - Specifies the decimal LCID or localization token for the language to merge the Module in as. - - - - - Path to the source location of the merge module. - - - - - - - - - - - - - - - - How To: Install the Visual C++ Redistributable with your installer - - Merge reference to connect a Merge Module to parent Feature - - - - - The unique identifier for the Merge element to be referenced. - - - - - Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Data to use as input to a configurable merge module. - - - - - Name of the item in the ModuleConfiguration table. - - - - - Value to be passed to configurable merge module. - - - - - - - Directory layout for the product. Also specifies the mappings between source and target directories. - - - - How To: Add a file to your installer - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - This value is the unique identifier of the directory entry. - - - - - - The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*") - is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder). - It is recommended that this attribute be avoided and that developers install their Components under standard - directories with unique names instead (for example, "ProgramFilesFolder\Company Name Product Name Version"). It is - important to note that once a directory is assigned a Component Guid Generation Seed the value must not change until - (and must be changed when) the path to that directory, including itself and all parent directories, changes. - - - - - - - Sets the default disk identifier for the files contained in this directory. - This attribute's value may be overridden by a child Component, Directory, - Merge or File element. See the File or Merge elements' DiskId attribute for - more information. - - - - - - Used to set the file system source for this directory's child elements. For more information, see Specifying source files. - - - - - - The name of the directory. - - Do not specify this attribute if this directory represents - the same directory as the parent (see the Windows Installer SDK's - Directory table - topic for more information about the "." operator). - - This attribute's value may either a short or long directory name. If a short directory - name is specified, the ShortName attribute may not be specified. If this value is a long - directory name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short directory name. - However, if this name collides with another directory or you wish to manually specify - the short directory name, then the ShortName attribute may be specified. - - This Name attribute may also define multiple directories using the inline directory syntax. - For example, "ProgramFilesFolder:\My Company\My Product\bin" would create a reference to a - Directory element with Id="ProgramFilesFolder" then create directories named "My Company" then - "My Product" then "bin" nested beneath each other. This syntax is a shortcut to defining - each directory in an individual Directory element. - - - - - - - The short name of the directory in 8.3 format. - This attribute should only be set if there is a conflict between generated short directory names - or the user wants to manually specify the short directory name. - - - - - - - The short name of the directory on the source media in 8.3 format. - This attribute should only be set if there is a conflict between generated short directory names - or the user wants to manually specify the short source directory name. - - - - - - - The name of the directory on the source media. - If this attribute is not specified, Windows Installer will default to the Name attribute. - - In prior versions of the WiX toolset, this attribute specified the short source directory name. - This attribute's value may now be either a short or long directory name. - If a short directory name is specified, the ShortSourceName attribute may not be specified. - If a long directory name is specified, the LongSource attribute may not be specified. - Also, if this value is a long directory name, the ShortSourceName attribute may be omitted to - allow WiX to attempt to generate a unique short directory name. - However, if this name collides with another directory or you wish to manually specify - the short directory name, then the ShortSourceName attribute may be specified. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a Directory element in another Fragment. - - - How To: Add a file to your installer - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The identifier of the Directory element to reference. - - - - - - Sets the default disk identifier for the files contained in this directory. - This attribute's value may be overridden by a child Component, Directory, - Merge or File element. See the File or Merge elements' DiskId attribute for - more information. - - - - - - Used to set the file system source for this DirectoryRef's child elements. For more information, see Specifying source files. - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - - - - Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. - - - - - Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. - - - - - Specifies the set of languages detected by FindRelatedProducts. Enter a list of numeric language identifiers (LANGID) separated by commas (,). Leave this value null to specify all languages. Set ExcludeLanguages to "yes" in order detect all languages, excluding the languages listed in this value. - - - - - The installer sets the REMOVE property to features specified in this column. The features to be removed can be determined at run time. The Formatted string entered in this field must evaluate to a comma-delimited list of feature names. For example: [Feature1],[Feature2],[Feature3]. No features are removed if the field contains formatted text that evaluates to an empty string. The installer sets REMOVE=ALL only if the Remove field is empty. - - - - - When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. Windows Installer documentation for the Upgrade table states that the property specified in this field must be a public property and must be added to the SecureCustomProperties property. WiX automatically appends the property specified in this field to the SecureCustomProperties property when creating an MSI. Each UpgradeVersion must have a unique Property value. After the FindRelatedProducts action is run, the value of this property is a list of product codes, separated by semicolons (;), detected on the system. - - - - - Set to "yes" to migrate feature states from upgraded products by enabling the logic in the MigrateFeatureStates action. - - - - - Set to "yes" to detect products and applications but do not uninstall. - - - - - Set to "yes" to continue installation upon failure to remove a product or application. - - - - - Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default. - - - - - Set to "yes" to make the range of versions detected include the value specified in Maximum. - - - - - Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - Upgrade info for a particular UpgradeCode - - - - - - - - - - - - Nesting a Property element under an Upgrade element has been deprecated. - Please nest Property elements in any of the other supported locations. - - - - - - - This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. - - - - - - - - A feature for the Feature table. Features are the smallest installable unit. See msi.chm for more - detailed information on the myriad installation options for a feature. - - - - - How To: Add a file to your installer - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Unique identifier of the feature. - - - - - - This attribute determines if a user will have the option to set a feature to absent in the user interface. - - - - - - - - Allows the user interface to display an option to change the feature state to Absent. - - - - - - - Prevents the user interface from displaying an option to change the feature state - to Absent by setting the msidbFeatureAttributesUIDisallowAbsent attribute. This will force the feature - to the installation state, whether or not the feature is visible in the UI. - - - - - - - - - - This attribute determines the possible advertise states for this feature. - - - - - - - - Prevents this feature from being advertised by setting the msidbFeatureAttributesDisallowAdvertise attribute. - - - - - - - Prevents advertising for this feature if the operating system shell does not support Windows Installer - descriptors by setting the msidbFeatureAttributesNoUnsupportedAdvertise attribute. - - - - - - - Allows the feature to be advertised. - - - - - - - - - - Specify the Id of a Directory that can be configured by the user at installation time. This identifier - must be a public property and therefore completely uppercase. - - - - - - - Longer string of text describing the feature. This localizable string is displayed by the - Text Control of the Selection Dialog. - - - - - - - Determines the initial display of this feature in the feature tree. - This attribute's value should be one of the following: - collapseInitially shows the feature collapsed. This is the default value.expandInitially shows the feature expanded.hiddenPrevents the feature from displaying in the user interface.<an explicit integer value> - For advanced users only, it is possible to directly set the integer value - of the display value that will appear in the Feature row. - - - - - - - This attribute determines the default install/run location of a feature. This attribute cannot be specified - if the value of the FollowParent attribute is 'yes' since that would ask the installer to force this feature - to follow the parent installation state and simultaneously favor a particular installation state just for this feature. - - - - - - - - Forces the feature to follow the same installation state as its parent feature. - - - - - - - Favors installing this feature locally by setting the msidbFeatureAttributesFavorLocal attribute. - - - - - - - Favors running this feature from source by setting the msidbFeatureAttributesFavorSource attribute. - - - - - - - - - - Sets the install level of this feature. A value of 0 will disable the feature. Processing the - Condition Table can modify the level value (this is set via the Condition child element). The - default value is "1". - - - - - - - Short string of text identifying the feature. This string is listed as an item by the - SelectionTree control of the Selection Dialog. - - - - - - - This attribute determines the default advertise state of the feature. - - - - - - - - Sets the feature to be advertised by setting the msidbFeatureAttributesFavorAdvertise attribute. - This value cannot be set if the value of the AllowAdvertise attribute is 'no' since that would ask the installer to - disallow the advertised state for this feature while at the same time favoring it. - - - - - - - Sets the feature to the default non-advertised installation option. - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Groups together multiple components, features, and merges to be used in other locations. - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Identifier for the FeatureGroup. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a FeatureGroup in another Fragment. - - - - - - - - The identifier of the FeatureGroup to reference. - - - - - - Normally feature group references that end up nested under a parent element create a - connection to that parent. This behavior is undesirable when trying to simply reference - to a FeatureGroup in a different Fragment. Specify 'yes' to have this feature group - reference not create a connection to its parent. The default is 'no'. - - - - - - - Set this attribute to 'yes' in order to make the parent feature of this group - the primary feature for any components and merges contained in the group. - Features may belong to multiple features. By designating a feature as the - primary feature of a component or merge, you ensure that whenever a component is - selected for install-on-demand (IOD), the primary feature will be the one to install - it. This attribute should only be set if a component actually nests under multiple - features. If a component nests under only one feature, that feature is the primary - feature for the component. You cannot set more than one feature as the primary - feature of a given component. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a Feature element in another Fragment. - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The identifier of the Feature element to reference. - - - - - - Normally feature references that are nested under a parent element create a connection to that - parent. This behavior is undesirable when trying to simply reference a Feature in a different - Fragment. Specify 'yes' to have this feature reference not create a connection to its parent. - The default is 'no'. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Media element describes a disk that makes up the source media for the installation. - - - - - - - - - - - - - - - Disk identifier for Media table. This number must be equal to or greater than 1. - - - - - The name of the cabinet if some or all of the files stored on the media are in a cabinet file. If no cabinets are used, this attribute must not be set. - - - - - - Indicates the compression level for the Media's cabinet. This attribute can - only be used in conjunction with the Cabinet attribute. The default is 'mszip'. - - - - - - The disk name, which is usually the visible text printed on the disk. This localizable text is used to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. - - - - - Instructs the binder to embed the cabinet in the product if 'yes'. This attribute can only be specified in conjunction with the Cabinet attribute. - - - - - - This attribute specifies the root directory for the uncompressed files that - are a part of this Media element. By default, the src will be the output - directory for the final image. The default value ensures the binder generates - an installable image. If a relative path is specified in the src attribute, - the value will be appended to the image's output directory. If an absolute - path is provided, that path will be used without modification. The latter two - options are provided to ease the layout of an image onto multiple medias (CDs/DVDs). - - - - - - - - - - - - - - The label attributed to the volume. This is the volume label returned - by the GetVolumeInformation function. If the SourceDir property refers - to a removable (floppy or CD-ROM) volume, then this volume label is - used to verify that the proper disk is in the drive before attempting - to install files. The entry in this column must match the volume label - of the physical media. - - - - - - - Optional property that identifies the source of the embedded cabinet. - If a cabinet is specified for a patch, this property should be defined - and unique to each patch so that the embedded cabinet containing patched - and new files can be located in the patch package. If the cabinet is not - embedded - this is not typical - the cabinet can be found in the directory - referenced in this column. If empty, the external cabinet must be located - in the SourceDir directory. - - - - - - - - - MediaTeplate element describes information to automatically assign files to cabinets. - A maximumum number of cabinets created is 999. - - - - - - - Templated name of the cabinet if some or all of the files stored on the media are in - a cabinet file. This name must begin with either a letter or an underscore, contain - maximum of five characters and {0} in the cabinet name part and must end three character extension. - The default is cab{0}.cab. - - - - - - - Indicates the compression level for the Media's cabinet. This attribute can - only be used in conjunction with the Cabinet attribute. The default is 'mszip'. - - - - - - - - - - - - - - - - The disk name, which is usually the visible text printed on the disk. This localizable text is used - to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the - DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. - - - - - - Instructs the binder to embed the cabinets in the product if 'yes'. - - - - - - The label attributed to the volume. This is the volume label returned - by the GetVolumeInformation function. If the SourceDir property refers - to a removable (floppy or CD-ROM) volume, then this volume label is - used to verify that the proper disk is in the drive before attempting - to install files. The entry in this column must match the volume label - of the physical media. - - - - - - - Size of uncompressed files in each cabinet, in megabytes. WIX_MUMS environment variable - can be used to override this value. Default value is 200 MB. - - - - - - - Maximum size of cabinet files in megabytes for large files. This attribute is used for packaging - files that are larger than MaximumUncompressedMediaSize into smaller cabinets. If cabinet size - exceed this value, then setting this attribute will cause the file to be split into multiple - cabinets of this maximum size. For simply controlling cabinet size without file splitting use - MaximumUncompressedMediaSize attribute. Setting this attribute will disable smart cabbing feature - for this Fragment / Product. Setting WIX_MCSLFS environment variable can be used to override this - value. Minimum allowed value of this attribute is 20 MB. Maximum allowed value and the Default - value of this attribute is 2048 MB (2 GB). - - - - - - - - - This element has been deprecated. - Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attributes instead. - - - - - - - The name of the item to ignore modularization for. - - - - - - - The type of the item to ignore modularization for. - - - - - - - - - - - - - - - - - - - - - Specifies a custom action to be added to the MSI CustomAction table. Various combinations of the attributes for this element - correspond to different custom action types. For more information about custom actions see the - - Custom Action Types topic on MSDN. - - - - - - - - The text node is only valid if the Script attribute is specified. In that case, the text node contains the script to embed. - - - - - - The identifier of the custom action. - - - - - - - - This attribute is a reference to a Binary element with matching Id attribute. That binary stream contains - the custom action for use during install. The custom action will not be installed into a target directory. This attribute is - typically used with the DllEntry attribute to specify the custom action DLL to use for a type 1 custom action, with the ExeCommand - attribute to specify a type 17 custom action that runs an embedded executable, or with the VBScriptCall or JScriptCall attributes - to specify a type 5 or 6 custom action. - - - - - - - This attribute specifies a reference to a File element with matching Id attribute that - will execute the custom action code in the file after the file is installed. This - attribute is typically used with the ExeCommand attribute to specify a type 18 custom action - that runs an installed executable, with the DllEntry attribute to specify an installed custom - action DLL to use for a type 17 custom action, or with the VBScriptCall or JScriptCall - attributes to specify a type 21 or 22 custom action. - - - - - - - This attribute specifies a reference to a Property element with matching Id attribute that specifies the Property - to be used or updated on execution of this custom action. This attribute is - typically used with the Value attribute to create a type 51 custom action that parses - the text in Value and places it into the specified Property. This attribute is also used with - the ExeCommand attribute to create a type 50 custom action that uses the value of the - given property to specify the path to the executable. Type 51 custom actions are often useful to - pass values to a deferred custom action. - See - http://msdn.microsoft.com/library/aa370543.aspx - for more information. - - - - - - - This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path. - This attribute is typically used with the ExeCommand attribute to specify the source executable for a type 34 - custom action, or with the Value attribute to specify a formatted string to place in the specified Directory - table entry in a type 35 custom action. - - - - - - - - This attribute specifies the name of a function in a custom action to execute. - This attribute is used with the BinaryKey attribute to create a type 1 custom - action, or with the FileKey attribute to create a type 17 custom action. - - - - - - - This attribute specifies the command line parameters to supply to an externally - run executable. This attribute is typically used with the BinaryKey attribute for a type 2 custom action, - the FileKey attribute for a type 18 custom action, the Property attribute for a type 50 custom action, - or the Directory attribute for a type 34 custom action that specify the executable to run. - - - - - - - This attribute specifies the name of the JScript function to execute in a script. The script must be - provided in a Binary element identified by the BinaryKey attribute described above. In other words, this - attribute must be specified in conjunction with the BinaryKey attribute. - - - - - - - This attribute specifies the name of the VBScript Subroutine to execute in a script. The script must be - provided in a Binary element identified by the BinaryKey attribute described above. In other words, this - attribute must be specified in conjunction with the BinaryKey attribute. - - - - - - - Creates a type 37 or 38 custom action. The text of the element should contain the script to be embedded in the package. - - - - - - - - - - - - - Use to suppress modularization of this custom action name in merge modules. - This should only be necessary for table-driven custom actions because the - table name which they interact with cannot be modularized, so there can only - be one instance of the table. - - - - - - - This attribute specifies a string value to use in the custom action. This attribute - must be used with the Property attribute to set the property as part of a - type 51 custom action or with the Directory attribute to set a directory path in that - table in a type 35 custom action. The value can be a literal value or derived from a - Property element using the Formatted - syntax. - - - - - - - This attribute specifies an index in the MSI Error table to use as an error message for a - type 19 custom action that displays the error message and aborts a product's installation. - - - - - - - - Set this attribute to set the return behavior of the custom action. - - - - - - - - Indicates that the custom action will run asyncronously and execution may continue after the installer terminates. - - - - - - - Indicates that the custom action will run asynchronously but the installer will wait for the return code at sequence end. - - - - - - - Indicates that the custom action will run synchronously and the return code will be checked for success. This is the default. - - - - - - - Indicates that the custom action will run synchronously and the return code will not be checked. - - - - - - - - - - This attribute indicates the scheduling of the custom action. - - - - - - - - Indicates that the custom action will run after successful completion of the installation script (at the end of the installation). - - - - - - - Indicates that the custom action runs in-script (possibly with elevated privileges). - - - - - - - Indicates that the custom action will only run in the first sequence that runs it. - - - - - - - Indicates that the custom action will run during normal processing time with user privileges. This is the default. - - - - - - - Indicates that the custom action will only run in the first sequence that runs it in the same process. - - - - - - - Indicates that a custom action will run in the rollback sequence when a failure - occurs during installation, usually to undo changes made by a deferred custom action. - - - - - - - Indicates that a custom action should be run a second time if it was previously run in an earlier sequence. - - - - - - - - - - This attribute specifies whether the Windows Installer, which executes as LocalSystem, - should impersonate the user context of the installing user when executing this custom action. - Typically the value should be 'yes', except when the custom action needs elevated privileges - to apply changes to the machine. - - - - - - - This attribute specifies that the Windows Installer, execute the custom action only when - a patch is being uninstalled. These custom actions should also be conditioned using the - MSIPATCHREMOVE property to ensure proper down level (less than Windows Installer 4.5) - behavior. - - - - - - - Specifies that a script custom action targets a 64-bit platform. Valid only when used with - the Script, VBScriptCall, and JScriptCall attributes. - The default value is based on the platform set by the -arch switch to candle.exe - or the InstallerPlatform property in a .wixproj MSBuild project: - For x86 and ARM, the default value is 'no'. - For x64 and IA64, the default value is 'yes'. - - - - - - - This attribute specifies controls whether the custom action will impersonate the - installing user during per-machine installs on Terminal Server machines. - Deferred execution custom actions that do not specify this attribute, or explicitly set it 'no', - will run with no user impersonation on Terminal Server machines during - per-machine installations. This attribute is only applicable when installing on the - Windows Server 2003 family. - - - - - - Ensures the installer does not log the CustomActionData for the deferred custom action. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - This will cause the entire contents of the Fragment containing the referenced CustomAction to be - included in the installer database. - - - - - - The identifier of the CustomAction to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - - - Sets a Directory to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in - the InstallUISequence and InstallExecuteSequence. - - - - - - - - The condition that determines whether the Directory is set. If the condition evaluates to false, the SetDirectory is skipped. - - - - - - By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case - where multiple SetDirectory elements target the same Id (probably with mutually exclusive conditions). - - - - - - - This attribute specifies a reference to a Directory element with matching Id attribute. The path of the Directory will be set to - the Value attribute. - - - - - - - Controls which sequences the Directory assignment is sequenced in. - For 'execute', the assignment is scheduled in the InstallExecuteSequence. - For 'ui', the assignment is scheduled in the InstallUISequence. - For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. - For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. - The default is 'both'. - - - - - - - This attribute specifies a string value to assign to the Directory. The value can be a literal value or derived from a - Property element using the Formatted - syntax. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - - - - - Sets a Property to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in - the InstallUISequence and InstallExecuteSequence. - - - - - - - - The condition that determines whether the Property is set. If the condition evaluates to false, the Set is skipped. - - - - - - By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case - where multiple SetProperty elements target the same Id (probably with mutually exclusive conditions). - - - - - - The name of the standard or custom action after which this action should be performed. Mutually exclusive with the Before attribute. A Before or After attribute is required when setting a Property. - - - - - The name of the standard or custom action before which this action should be performed. Mutually exclusive with the After attribute. A Before or After attribute is required when setting a Property. - - - - - - This attribute specifies the Property to set to the Value. - - - - - - - Controls which sequences the Property assignment is sequenced in. - For 'execute', the assignment is scheduled in the InstallExecuteSequence. - For 'ui', the assignment is scheduled in the InstallUISequence. - For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. - For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. - The default is 'both'. - - - - - - - This attribute specifies a string value to assign to the Property. The value can be a literal value or derived from a - Property element using the Formatted - syntax. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - This will cause the entire contents of the Fragment containing the referenced PatchFamily to be - used in the process of creating a patch. - - - - - - The identifier of the PatchFamily to reference. - - - - - Specifies the ProductCode of the product that this family applies to. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - Sets the ProductID property to the full product identifier. This action must be sequenced before the user interface wizard in the InstallUISequence table and before the RegisterUser action in the InstallExecuteSequence table. If the product identifier has already been validated successfully, the ValidateProductID action does nothing. The ValidateProductID action always returns a success, whether or not the product identifier is valid, so that the product identifier can be entered on the command line the first time the product is run. The product identifier can be validated without having the user reenter this information by setting the PIDKEY property on the command line or by using a transform. The display of the dialog box requesting the user to enter the product identifier can then be made conditional upon the presence of the ProductID property, which is set when the PIDKEY property is validated. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Initiates the internal installation costing process. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the CostInitialize action to make all final cost calculations available to the installer through the Component table. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Initiates dynamic costing of standard installation actions. Any standard or custom actions that affect costing should sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the FileCost action to make all final cost calculations available to the installer through the Component table. The CostInitialize action must be executed before the FileCost action. The installer then determines the disk-space cost of every file in the File table, on a per-component basis, taking both volume clustering and the presence of existing files that may need to be overwritten into account. All actions that consume or release disk space are also considered. If an existing file is found, a file version check is performed to determine whether the new file actually needs to be installed or not. If the existing file is of an equal or greater version number, the existing file is not overwritten and no disk-space cost is incurred. In all cases, the installer uses the results of version number checking to set the installation state of each file. The FileCost action initializes cost calculation with the installer. Actual dynamic costing does not occur until the CostFinalize action is executed. The condition for this action may be specified in the element's inner text. - - - - - - - - - Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). This isolates the application from other copies of the component that may be installed to a shared location on the computer. The action refers to each record of the IsolatedComponent table and associates the files of the component listed in the Component_Shared field with the component listed in the Component_Application field. The installer installs the files of Component_Shared into the same directory as Component_Application. The installer generates a file in this directory, zero bytes in length, having the short filename name of the key file for Component_Application (typically this is the same file name as the .exe) appended with .local. The IsolatedComponent action does not affect the installation of Component_Application. Uninstalling Component_Application also removes the Component_Shared files and the .local file from the directory. The IsolateComponents action can be used only in the InstallUISequence table and the InstallExecuteSequence table. This action must come after the CostInitialize action and before the CostFinalize action. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Ends the internal installation costing process begun by the CostInitialize action. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action and then call the CostFinalize action to make all final cost calculations available to the installer through the Component table. The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections or directories. The CostFinalize action queries the Condition table to determine which features are scheduled to be installed. Costing is done for each component in the Component table. The CostFinalize action also verifies that all the target directories are writable before allowing the installation to continue. The condition for this action may be specified in the element's inner text. - - - - - - - - Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. The condition for this action may be specified in the element's inner text. - - - - - - - - Used for upgrading or installing over an existing application. Reads feature states from existing application and sets these feature states for the pending installation. The condition for this action may be specified in the element's inner text. - - - - - - - - Initiates the execution sequence. The condition for this action may be specified in the element's inner text. - - - - - - - - Verifies that all costed volumes have enough space for the installation. The condition for this action may be specified in the element's inner text. - - - - - - - - - Marks the beginning of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Ensures the needed amount of space exists in the registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers and unregisters components, their key paths, and the component clients. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the unadvertisement of components listed in the PublishComponent table. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the unadvertisement of CLR and Win32 assemblies that are being removed. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes selection-state and feature-component mapping information from the registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Stops system services. The condition for this action may be specified in the element's inner text. - - - - - - - - Stops a service and removes its registration from the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes COM+ applications from the registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. The condition for this action may be specified in the element's inner text. - - - - - - - - Unregisters type libraries from the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes the data sources, translators, and drivers listed for removal during the installation. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes registration information about installed fonts from the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the removal of COM class information from the system registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the removal of extension-related information from the system registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the unregistration of OLE ProgId information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Unregisters MIME-related registry information from the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation. The condition for this action may be specified in the element's inner text. - - - - - - - - Modifies the values of environment variables. The condition for this action may be specified in the element's inner text. - - - - - - - - Deletes files installed by the DuplicateFiles action. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes files previously installed by the InstallFiles action. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes any folders linked to components set to be removed or run from source. The condition for this action may be specified in the element's inner text. - - - - - - - - Creates empty folders for components that are set to be installed. The condition for this action may be specified in the element's inner text. - - - - - - - - - Locates existing files on the system and moves or copies those files to a new location. The condition for this action may be specified in the element's inner text. - - - - - - - - Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text. - - - - - - - - Copies files specified in the File table from the source directory to the destination directory. The condition for this action may be specified in the element's inner text. - - - - - - - - Duplicates files installed by the InstallFiles action. The condition for this action may be specified in the element's inner text. - - - - - - - - Queries the Patch table to determine which patches are to be applied. The condition for this action may be specified in the element's inner text. - - - - - - - - - Binds each executable or DLL that must be bound to the DLLs imported by it. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the creation of shortcuts. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the registration of COM class information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the registration of extension related information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the registration of OLE ProgId information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers MIME-related registry information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Sets up an application's registry information. The condition for this action may be specified in the element's inner text. - - - - - - - - Writes the .ini file information that the application needs written to its .ini files. The condition for this action may be specified in the element's inner text. - - - - - - - - Modifies the values of environment variables. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers installed fonts with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers type libraries with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Processes all modules listed in the SelfReg table and registers all installed modules with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers COM+ applications. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers a service for the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Starts system services. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers the user information with the installer to identify the user of a product. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers the product information with the installer. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the advertisement of the components from the PublishComponent table. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the advertisement of CLR and Win32 assemblies. The condition for this action may be specified in the element's inner text. - - - - - - - - Writes each feature's state into the system registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the advertisement of the product information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - - Marks the end of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text. - - - - - - - - - - - - - Uses file signatures to search for existing versions of products. The AppSearch action may use this information to determine where upgrades are to be installed. The AppSearch action can also be used to set a property to the existing value of an registry or .ini file entry. AppSearch should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents The AppSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The AppSearch action searches for file signatures using the CompLocator table first, the RegLocator table next, then the IniLocator table, and finally the DrLocator table. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The CCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents the CCPSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The CCPSearch action must come before the RMCCPSearch action. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The RMCCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents RMCCPSearch from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The RMCCPSearch action requires the CCP_DRIVE property to be set to the root path on the removable volume that has the installation for any of the qualifying products. The condition for this action may be specified in the element's inner text. - - - - - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. If any of these conditional statements fail, an error message is displayed to the user and the installation is terminated. The LaunchConditions action is optional. This action is normally the first in the sequence, but the AppSearch Action may be sequenced before the LaunchConditions action. If there are launch conditions that do not apply to all installation modes, the appropriate installation mode property should be used in a conditional expression in the appropriate sequence table. The condition for this action may be specified in the element's inner text. - - - - - - - - - Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. When FindRelatedProducts detects a correspondence between the upgrade information and an installed product, it appends the product code to the property specified in the ActionProperty column of the UpgradeTable. The FindRelatedProducts action only runs the first time the product is installed. The FindRelatedProducts action does not run during maintenance mode or uninstallation. FindRelatedProducts should be authored into the InstallUISequence table and InstallExecuteSequence tables. The installer prevents FindRelatedProducts from running in InstallExecuteSequence if the action has already run in InstallUISequence. The FindRelatedProducts action must come before the MigrateFeatureStates action and the RemoveExistingProducts action. The condition for this action may be specified in the element's inner text. - - - - - - - - Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Should only be used after InstallExecute. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Disables rollback for the remainder of the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Prompts the user to restart the system at the end of installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Prompts the user for a restart of the system during the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - - Use to sequence a custom action. - - - - - - Text node specifies the condition of the action. - - - - The action to which the Custom element applies. - - - - - Mutually exclusive with Before, After, and Sequence attributes - - - - - The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes - - - - - The name of the standard or custom action after which this action should be performed. Mutually exclusive with Before, OnExit, and Sequence attributes - - - - - - If "yes", the sequencing of this action may be overridden by sequencing elsewhere. - - - - - - The sequence number for this action. Mutually exclusive with Before, After, and OnExit attributes - - - - - - - - - - - - - - mutually exclusive with Before, After, and Sequence attributes - - - - - - - - If "yes", the sequencing of this dialog may be overridden by sequencing elsewhere. - - - - - - - - - - - - - - - - - - - - Use to sequence a custom action. - - - - - Displays a Dialog. - - - - - Prompts the user to restart the system at the end of installation. Not fixed sequence. - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. - - - - - Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. - - - - - Uses file signatures to search for existing versions of products. - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. - - - - - Sets the ProductID property to the full product identifier. - - - - - Initiates the internal installation costing process. - - - - - Initiates dynamic costing of standard installation actions. - - - - - Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). - - - - - Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Used for upgrading or installing over an existing application. - - - - - Initiates the execution sequence. - - - - - - - - - - - - - - - - - Use to sequence a custom action. - - - - - Prompts the user to restart the system at the end of installation. Not fixed sequence. - - - - - Prompts the user for a restart of the system during the installation. Not fixed sequence. - - - - - Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Not fixed sequence. - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. - - - - - Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. - - - - - Uses file signatures to search for existing versions of products. - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. - - - - - Sets the ProductID property to the full product identifier. - - - - - Initiates the internal installation costing process. - - - - - Initiates dynamic costing of standard installation actions. - - - - - Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. - - - - - Used for upgrading or installing over an existing application. - - - - - Verifies that all costed volumes have enough space for the installation. - - - - - Marks the beginning of a sequence of actions that change the system. - - - - - Ensures the needed amount of space exists in the registry. - - - - - Registers and unregisters components, their key paths, and the component clients. - - - - - Manages the unadvertisement of components listed in the PublishComponent table. - - - - - Removes selection-state and feature-component mapping information from the registry. - - - - - Stops system services. - - - - - Stops a service and removes its registration from the system. - - - - - Removes COM+ applications from the registry. - - - - - Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. - - - - - Unregisters type libraries from the system. - - - - - Removes the data sources, translators, and drivers listed for removal during the installation. - - - - - Removes registration information about installed fonts from the system. - - - - - Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled. - - - - - Manages the removal of COM class information from the system registry. - - - - - Manages the removal of extension-related information from the system registry. - - - - - Manages the unregistration of OLE ProgId information with the system. - - - - - Unregisters MIME-related registry information from the system. - - - - - Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source. - - - - - Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation. - - - - - Modifies the values of environment variables. - - - - - Deletes files installed by the DuplicateFiles action. - - - - - Removes files previously installed by the InstallFiles action. - - - - - Removes any folders linked to components set to be removed or run from source. - - - - - Creates empty folders for components that are set to be installed. - - - - - Locates existing files on the system and moves or copies those files to a new location. - - - - - Copies files specified in the File table from the source directory to the destination directory. - - - - - Duplicates files installed by the InstallFiles action. - - - - - Queries the Patch table to determine which patches are to be applied. - - - - - Binds each executable or DLL that must be bound to the DLLs imported by it. - - - - - Manages the creation of shortcuts. - - - - - Manages the registration of COM class information with the system. - - - - - Manages the registration of extension related information with the system. - - - - - Manages the registration of OLE ProgId information with the system. - - - - - Registers MIME-related registry information with the system. - - - - - Sets up an application's registry information. - - - - - Writes the .ini file information that the application needs written to its .ini files. - - - - - Modifies the values of environment variables. - - - - - Registers installed fonts with the system. - - - - - Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. - - - - - Registers type libraries with the system. - - - - - Processes all modules listed in the SelfReg table and registers all installed modules with the system. - - - - - Registers COM+ applications. - - - - - Registers a service for the system. - - - - - Starts system services. - - - - - Registers the user information with the installer to identify the user of a product. - - - - - Registers the product information with the installer. - - - - - Manages the advertisement of the components from the PublishComponent table. - - - - - Writes each feature's state into the system registry. - - - - - Manages the advertisement of the product information with the system. - - - - - Marks the end of a sequence of actions that change the system. - - - - - Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. - - - - - Disables rollback for the remainder of the installation. - - - - - - Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. - - - - - Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. - - - - - - Manages the advertisement of CLR and Win32 assemblies. - - - - - Manages the unadvertisement of CLR and Win32 assemblies that are being removed. - - - - - - - - - - - - - - - - Use to sequence a custom action. - - - - - - Initiates the internal installation costing process. - - - - - Initiates dynamic costing of standard installation actions. - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Initiates the execution sequence. - - - - - Verifies that all costed volumes have enough space for the installation. - - - - - Marks the beginning of a sequence of actions that change the system. - - - - - Copies the product database to the administrative installation point. - - - - - Copies files specified in the File table from the source directory to the destination directory. - - - - - Marks the end of a sequence of actions that change the system. - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. - - - - - - - - - - - - - - - - Use to sequence a custom action. - - - - - Initiates the internal installation costing process. - - - - - Initiates dynamic costing of standard installation actions. - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Verifies that all costed volumes have enough space for the installation. - - - - - Marks the beginning of a sequence of actions that change the system. - - - - - Copies the product database to the administrative installation point. - - - - - Copies files specified in the File table from the source directory to the destination directory. - - - - - Queries the Patch table to determine which patches are to be applied. - - - - - Marks the end of a sequence of actions that change the system. - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. - - - - - Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. - - - - - - - - - - - - - - - - Initiates the internal installation costing process. - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Use to sequence a custom action. The only custom actions that are allowed in the AdvtExecuteSequence are type 19 (0x013) type 35 (0x023) and type 51 (0x033). - - - - - Verifies that all costed volumes have enough space for the installation. - - - - - Marks the beginning of a sequence of actions that change the system. - - - - - Manages the creation of shortcuts. - - - - - Manages the registration of COM class information with the system. - - - - - Manages the registration of extension related information with the system. - - - - - Registers MIME-related registry information with the system. - - - - - Manages the registration of OLE ProgId information with the system. - - - - - Manages the advertisement of the components from the PublishComponent table. - - - - - Writes each feature's state into the system registry. - - - - - Manages the advertisement of the product information with the system. - - - - - Marks the end of a sequence of actions that change the system. - - - - - - Manages the advertisement of CLR and Win32 assemblies. - - - - - - - - - - Binary data used for CustomAction elements and UI controls. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The Id cannot be longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters. - - - - - Path to the binary file. - - - - - - - - - - - - - Use to suppress modularization of this Binary identifier in merge modules. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Icon used for Shortcut, ProgId, or Class elements (but not UI controls) - - - - How To: Set your installer's icon in Add/Remove Programs - How To: Create a shortcut on the Start Menu - - - - - - The Id cannot be longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters. - - - - - Path to the icon file. - - - - - - - - - - - - - - - - - - - - - - - - - - - Element value is the condition. CDATA may be used to when a condition contains many XML characters - that must be escaped. It is important to note that each EmbeddedChainer element must have a mutually exclusive condition - to ensure that only one embedded chainer will execute at a time. If the conditions are not mutually exclusive the chainer - that executes is undeterministic. - - - - - Unique identifier for embedded chainer. - - - - - Value to append to the transaction handle and passed to the chainer executable. - - - - - - Reference to the Binary element that contains the chainer executable. Mutually exclusive with - the FileSource and PropertySource attributes. - - - - - - - Reference to the File element that is the chainer executable. Mutually exclusive with - the BinarySource and PropertySource attributes. - - - - - - - Reference to a Property that resolves to the full path to the chainer executable. Mutually exclusive with - the BinarySource and FileSource attributes. - - - - - - - - - - - Reference to an EmbeddedChainer element. This will force the entire referenced Fragment's contents - to be included in the installer database. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - Element value is the condition. Use CDATA if message contains delimiter characters. - - - - - - Specifies extra files to be extracted for use by the embedded UI, such as language resources. - - - - - - - Unique identifier for embedded UI.If this attribute is not specified the Name attribute or the file name - portion of the SourceFile attribute will be used. - - - - - - Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_USER messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_INFO messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_INSTALLSTART messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_INSTALLEND messages. - - - - - - The name for the embedded UI DLL when it is extracted from the Product and executed. (Windows Installer - does not support the typical short filename and long filename combination for embedded UI files as it - does for other kinds of files.) If this attribute is not specified the file name portion of the SourceFile - attribute will be used. - - - - - - - Path to the binary file that is the embedded UI. This must be a DLL that exports the following - three entry points: InitializeEmbeddedUI, EmbeddedUIHandler and ShutdownEmbeddedUI. - - - - - - Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation. - - - - - - - - Defines a resource for use by the embedded UI. - - - - - - - - - - Identifier for the embedded UI resource. - - - - - - The name for the resource when it is extracted from the Product for use by the embedded UI DLL. (Windows - Installer does not support the typical short filename and long filename combination for embedded UI files - as it does for other kinds of files.) If this attribute is not specified the Id attribute will be used. - - - - - - Path to the binary file that is the embedded UI resource. - - - - - - - - - - - - - - - Element value is Message, use CDATA if message contains delimiter characters - - - - Number of the error for which a message is being provided. See MSI SDK for error definitions. - - - - - - - - - - - - - - - - - The element value is the optional Condition expression. - - - - - The parent Control for this Publish element, should only be specified when this element is a child of the UI element. - - - - - - - The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element. - This attribute will create a reference to the specified Dialog, so an additional DialogRef is not necessary. - - - - - - - Set this attribute's value to one of the standard control events to trigger that event. - Either this attribute or the Property attribute must be set, but not both at the same time. - - - - - - - This attribute should only need to be set if this element is nested under a UI element in order to - control the order in which this publish event will be started. - If this element is nested under a Control element, the default value will be one greater than any - previous Publish element's order (the first element's default value is 1). - If this element is nested under a UI element, the default value is always 1 (it does not get a - default value based on any previous Publish elements). - - - - - - - Set this attribute's value to a property name to set that property. - Either this attribute or the Event attribute must be set, but not both at the same time. - - - - - - - If the Property attribute is specified, set the value of this attribute to the new value for the property. - To set a property to null, do not set this attribute (the ControlEvent Argument column will be set to '{}'). - Otherwise, this attribute's value should be the argument for the event specified in the Event attribute. - If the event doesn't take an attribute, a common value to use is "0". - - - - - - - - - - - Sets attributes for events in the EventMapping table - - - - - - - - - must be one of the standard control events' - - - - - if not present can only handle enable, disable, hide, unhide events - - - - - - - - An alternative to using the Text attribute when the value contains special XML characters like <, >, or &. - - - - - - - - Instructs the text to be imported from a file instead of the element value during the binding process. - - - - - - - - - - - - - - - - - - - - - - - - Contains the controls that appear on each dialog. - - - - - - alternative to Text attribute when CDATA is needed to escape XML delimiters - - - - - ComboBox table with ListItem children - - - - - ListBox table with ListItem children - - - - - ListView table with ListItem children - - - - - RadioButton table with RadioButton children - - - - - Property table entry for the Property table column associated with this control - - - - - Icon referenced in icon column of row - - - - - child elements affecting operation of this control - - - - Condition to specify actions for this control based on the outcome of the condition. - - - - - - - - - Combined with the Dialog Id to make up the primary key of the Control table. - - - - - The type of the control. Could be one of the following: Billboard, Bitmap, CheckBox, ComboBox, DirectoryCombo, DirectoryList, Edit, GroupBox, Hyperlink, Icon, Line, ListBox, ListView, MaskedEdit, PathEdit, ProgressBar, PushButton, RadioButtonGroup, ScrollableText, SelectionTree, Text, VolumeCostList, VolumeSelectCombo - - - - - Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. - - - - - Vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. - - - - - Width of the rectangular boundary of the control. This must be a non-negative number. - - - - - Height of the rectangular boundary of the control. This must be a non-negative number. - - - - - The name of a defined property to be linked to this control. This column is required for active controls. - - - - - A localizable string used to set the initial text contained in a control. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see Formatted for details. - - - - - This attribute is reserved for future use. There is no need to use this until Windows Installer uses it for something. - - - - - The string used for the Tooltip. - - - - - This attribute is only valid for CheckBox Controls. When set, the linked Property will be set to this value when the check box is checked. - - - - - This attribute is only valid for CheckBox controls. The value is the name of a Property that was already used as the Property for another CheckBox control. The Property attribute cannot be specified. The attribute exists to support multiple checkboxes on different dialogs being tied to the same property. - - - - - - Set this attribute to "yes" to cause this Control to be skipped in the tab sequence. - - - - - Set this attribute to "yes" to cause this Control to be invoked by the return key. - - - - - Set this attribute to "yes" to cause this Control to be invoked by the escape key. - - - - - - Set this attribute to "yes" to cause the Control to be hidden. - - - - - Set this attribute to "yes" to cause the Control to be disabled. - - - - - Set this attribute to "yes" to cause the Control to be sunken. - - - - - Specifies whether the value displayed or changed by this control is referenced indirectly. If this bit is set, the control displays or changes the value of the property that has the identifier listed in the Property column of the Control table. - - - - - Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string. - - - - - Set this attribute to "yes" to cause the Control to display from right to left. - - - - - Set this attribute to "yes" to cause the Control to be right aligned. - - - - - Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. - - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Edit Controls. - - - - - This attribute is only valid for Edit Controls. - - - - - This attribute is only valid for ProgressBar Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for VolumeCostList Controls. - - - - - This attribute is only valid for ListBox, ListView, and ComboBox Controls. Set - the value of this attribute to "yes" to have entries appear in the order specified under the Control. - If the attribute value is "no" or absent the entries in the control will appear in alphabetical order. - - - - - - This attribute is only valid for ComboBox Controls. - - - - - This attribute is only valid for RadioButton, PushButton, and Icon Controls. - - - - - This attribute is only valid for RadioButton, PushButton, and Icon Controls. - - - - - - - - - - - - This attribute is only valid for RadioButton, PushButton, and Icon Controls. - - - - - This attribute is only valid for RadioButton and PushButton Controls. - - - - - This attribute is only valid for RadioButton and PushButton Controls. - - - - - This attribute is only valid for RadioButton and Checkbox Controls. - - - - - This attribute is only valid for RadioButton Controls. - - - - - - This attribute is only valid for PushButton controls. - Set this attribute to "yes" to add the User Account Control (UAC) elevation icon (shield icon) to the PushButton control. - If this attribute's value is "yes" and the installation is not yet running with elevated privileges, - the pushbutton control is created using the User Account Control (UAC) elevation icon (shield icon). - If this attribute's value is "yes" and the installation is already running with elevated privileges, - the pushbutton control is created using the other icon attributes. - Otherwise, the pushbutton control is created using the other icon attributes. - - - - - - - - - Billboard to display during install of a Feature - - - - - - - - - - - Only controls of static type such as: Text, Bitmap, Icon, or custom control can be placed on a billboard. - - - - - - Unique identifier for the Billboard. - - - - - Feature whose state determines if the Billboard is shown. - - - - - - - - Billboard action during which child Billboards are displayed - - - - - - - - - - - Order of Billboard elements determines order of display - - - - - - Action name that determines when the Billboard should be shown. - - - - - - - - - - - - - - - - Defines a dialog box in the Dialog Table. - - - - - - - Control elements belonging to this dialog. - - - - - - Unique identifier for the dialog. - - - - - Horizontal placement of the dialog box as a percentage of screen width. The default value is 50. - - - - - Vertical placement of the dialog box as a percentage of screen height. The default value is 50. - - - - - The width of the dialog box in dialog units. - - - - - The height of the dialog box in dialog units. - - - - - The title of the dialog box. - - - - - - Used to hide the dialog. - - - - - Used to set the dialog as modeless. - - - - - Used to specify if the dialog can be minimized. - - - - - Used to set the dialog as system modal. - - - - - Keep modeless dialogs alive when this dialog is created through DoAction. - - - - - Have the dialog periodically call the installer to check if available disk space has changed. - - - - - Used to specify if pictures in the dialog box are rendered with a custom palette. - - - - - Used to specify if the text in the dialog should be displayed in right to left reading order. - - - - - Align text on the right. - - - - - Used to align the scroll bar on the left. - - - - - Specifies this dialog as an error dialog. - - - - - - - - - - - Reference to a Dialog. This will cause the entire referenced section's contents - to be included in the installer database. - - - - - - The identifier of the Dialog to reference. - - - - - - - - - - - - - - - Element value is progress message text for action - - - - - used to format ActionData messages from action processing - - - - - - - - - - - - - - - - - - - 0 to 255 - - - - - 0 to 255 - - - - - 0 to 255 - - - - - - - - - - - - The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. - - - - - - - - - - - - The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected. - - - - - - - The localizable, visible text to be assigned to the item. - If not specified, this will default to the value of the Value attribute. - - - - - - - The identifier of the Binary (not Icon) element containing the icon to associate with this item. - This value is only valid when nested under a ListView element. - - - - - - - - - Set of items for a particular ListBox control tied to an install Property - - - - - - - - - - - - entry for ListBox table - - - - - - Property tied to this group - - - - - - - - Set of items for a particular ComboBox control tied to an install Property - - - - - - - - - - - - entry for ComboBox table - - - - - - Property tied to this group - - - - - - - - Set of items for a particular ListView control tied to an install Property - - - - - - - - - - - - entry for ListView table - - - - - - Property tied to this group - - - - - - - - - - - - - Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup). - - - - - - This attribute defines the bitmap displayed with the radio button. The value of the attribute creates a reference - to a Binary element that represents the bitmap. This attribute is mutually exclusive with the Icon and Text - attributes. - - - - - - - - - This attribute defines the icon displayed with the radio button. The value of the attribute creates a reference - to a Binary element that represents the icon. This attribute is mutually exclusive with the Bitmap and Text - attributes. - - - - - - Text displayed with the radio button. This attribute is mutually exclusive with the Bitmap and Icon attributes. - - - - - - Value assigned to the associated control Property when this radio button is selected. - - - - - - - - - - - Set of radio buttons tied to the specified Property - - - - - - - - - - - - - - Property tied to this group. - - - - - - - - Text associated with certain controls - - - - - - - - - - Element value is text, may use CDATA if needed to escape XML delimiters - - - - - - - - - - Reference to a UI element. This will force the entire referenced Fragment's contents - to be included in the installer database. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Enclosing element to compartmentalize UI specifications. - - - - - - - - - - Embedded UI definition with EmbeddedResource children. - - - - - Error text associated with install error - - - - - ActionText entry associated with an action - - - - - Billboard table item with child Controls - - - - - ComboBox table with ListItem children - - - - - ListBox table with ListItem children - - - - - ListView table with ListItem children - - - - - RadioButton table with RadioButton children - - - - - TextStyle entry for use in control text - - - - - values for UIText property, not installer Property - - - - - Dialog specification, called from Sequence - - - - - Reference to a Dialog specification. - - - - - - - - - - - - - - - - - - - - Defines a custom table for use from a custom action. - - - - - - Column definition for the custom table. - - - - - Row definition for the custom table. - - - - - - Identifier for the custom table. - - - - - Indicates the table data is transformed into the bootstrapper application data manifest. - - - - - - - Column definition for a Custom Table - - - - - Identifier for the column. - - - - - Whether this column is a primary key. - - - - - The type of this column. - - - - - - - Column contains a path to a file that will be inserted into the column as a binary object. - If this value is set, the Category attribute must also be set with a value of 'Binary' to pass ICE validation. - - - - - - - Column contains an integer or datetime value (the MinValue and MaxValue attributes should also be set). - - - - - - - Column contains a non-localizable string value. - - - - - - - - - Width of this column. - - - - - Whether this column can be left null. - - - - - Whether this column can be localized. - - - - - Minimum value for a numeric value, date or version in this column. - - - - - Maximum value for a numeric value, date or version in this column. - - - - - Table in which this column is an external key. Can be semicolon delimited. - - - - - Column in the table in KeyTable attribute. - - - - - - Category of this column. - This attribute must be specified with a value of 'Binary' if the Type attribute's value is 'binary'. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Semicolon delimited list of permissible values. - - - - - Description of this column. - - - - - How this column should be modularized, if at all. - - - - - - - Column should not be modularized. This is the default value. - - - - - - - Column should be modularized. - - - - - - - Column is a condition and should be modularized. - - - - - - - When the column is an primary or foreign key to the Icon table it should be modularized special. - - - - - - - Any Properties in the column should be modularized. - - - - - - - Semi-colon list of keys, all of which need to be modularized. - - - - - - - - - - - Row data for a Custom Table - - - - - - - - - - Used for a Custom Table. Specifies the data for the parent Row and specified Column. - - - - - - A data value - - - - Specifies in which column to insert this data. - - - - - - - - - - - Use this element to ensure that a table appears in the installer database, even if its empty. - - - - This element is particularly useful for two problems that may occur while merging merge modules: - - The first likely problem is that in order to properly merge you need to have certain - tables present prior to merging. Using this element is one way to ensure those tables - are present prior to the merging. - - The other common problem is that a merge module has incorrect validation information - about some tables. By ensuring these tables prior to merging, you can avoid this - problem because the correct validation information will go into the installer database - before the merge module has a chance to set it incorrectly. - - - - - - - The name of the table. - - - - - - - - This element exposes advanced WiX functionality. Use this element to declare WiX variables - from directly within your authoring. WiX variables are not resolved until the final msi/msm/pcp - file is actually generated. WiX variables do not persist into the msi/msm/pcp file, so they cannot - be used when an MSI file is being installed; it's a WiX-only concept. - - - - - - The name of the variable. - - - - - - Set this value to 'yes' in order to make the variable's value overridable either by - another WixVariable entry or via the command-line option -d<name>=<value> - for light.exe. If the same variable is declared overridable in multiple places it - will cause an error (since WiX won't know which value is correct). The default value - is 'no'. - - - - - - - The value of the variable. The value cannot be an empty string because that would - make it possible to accidentally set a column to null. - - - - - - - - - Use this element to contain definitions for instance transforms. - - - - - - - - - The Id of the Property who's value should change for each instance. - - - - - - - - Defines an instance transform for your product. - - - - - - - The identity of the instance transform. This value will define the name by which the instance - should be referred to on the command line. In addition, the value of the this attribute will - determine what the value of the property specified in Property attribute on InstanceTransforms - will change to for each instance. - - - - - - The ProductCode for this instance. - - - - - The ProductName for this instance. - - - - - The UpgradeCode for this instance. - - - - - - - - Simplifies authoring for major upgrades, including support for preventing downgrades. - - The parent Product element must have valid UpgradeCode and Version attributes. - - When the FindRelatedProducts action detects a related product installed on the system, - it appends the product code to the property named WIX_UPGRADE_DETECTED. After the - FindRelatedProducts action is run, the value of the WIX_UPGRADE_DETECTED property is a - list of product codes, separated by semicolons (;), detected on the system. - - - - - - - - - - When set to no (the default), products with lower version numbers are blocked from - installing when a product with a higher version is installed; the DowngradeErrorMessage - attribute must also be specified. - - When set to yes, any version can be installed over any other version. - - - - - - - When set to no (the default), installing a product with the same version and upgrade code - (but different product code) is allowed and treated by MSI as two products. When set to yes, - WiX sets the msidbUpgradeAttributesVersionMaxInclusive attribute, which tells MSI to treat - a product with the same version as a major upgrade. - - This is useful when two product versions differ only in the fourth version field. MSI - specifically ignores that field when comparing product versions, so two products that - differ only in the fourth version field are the same product and need this attribute set to - yes to be detected. - - Note that because MSI ignores the fourth product version field, setting this attribute to - yes also allows downgrades when the first three product version fields are identical. - For example, product version 1.0.0.1 will "upgrade" 1.0.0.2998 because they're seen as the - same version (1.0.0). That could reintroduce serious bugs so the safest choice is to change - the first three version fields and omit this attribute to get the default of no. - - This attribute cannot be "yes" when AllowDowngrades is also "yes" -- AllowDowngrades - already allows two products with the same version number to upgrade each other. - - - - - - - When set to yes, products with higer version numbers are blocked from - installing when a product with a lower version is installed; the UpgradeErrorMessage - attribute must also be specified. - - When set to no (the default), any version can be installed over any lower version. - - - - - - - The message displayed if users try to install a product with a lower version number - when a product with a higher version is installed. Used only when AllowDowngrades - is no (the default). - - - - - - - The message displayed if users try to install a product with a higer version number - when a product with a lower version is installed. Used only when Disallow - is yes. - - - - - - - When set to yes (the default), the MigrateFeatureStates standard action will set the - feature states of the upgrade product to those of the installed product. - - When set to no, the installed features have no effect on the upgrade installation. - - - - - - - When set to yes, the Upgrade table rows will match any product with the same UpgradeCode. - - When set to no (the default), the Upgrade table rows will match only products with the - same UpgradeCode and ProductLanguage. - - - - - - - When set to yes, failures removing the installed product during the upgrade will be - ignored. - - When set to no (the default), failures removing the installed product during the upgrade - will be considered a failure and, depending on the scheduling, roll back the upgrade. - - - - - - - A formatted string that contains the list of features to remove from the installed - product. The default is to remove all features. Note that if you use formatted property - values that evaluate to an empty string, no features will be removed; only omitting - this attribute defaults to removing all features. - - - - - - - Determines the scheduling of the RemoveExistingProducts standard action, which is when - the installed product is removed. The default is "afterInstallValidate" which removes - the installed product entirely before installing the upgrade product. It's slowest but - gives the most flexibility in changing components and features in the upgrade product. - - For more information, see RemoveExistingProducts. - - - - - - - - (Default) Schedules RemoveExistingProducts after the InstallValidate standard - action. This scheduling removes the installed product entirely before installing - the upgrade product. It's slowest but gives the most flexibility in changing - components and features in the upgrade product. Note that if the installation - of the upgrade product fails, the machine will have neither version installed. - - - - - - - Schedules RemoveExistingProducts after the InstallInitialize standard action. - This is similar to the afterInstallValidate scheduling, but if the installation - of the upgrade product fails, Windows Installer also rolls back the removal of - the installed product -- in other words, reinstalls it. - - - - - - - Schedules RemoveExistingProducts between the InstallExecute and InstallFinalize standard actions. - This scheduling installs the upgrade product "on top of" the installed product then lets - RemoveExistingProducts uninstall any components that don't also exist in the upgrade product. - Note that this scheduling requires strict adherence to the component rules because it relies - on component reference counts to be accurate during installation of the upgrade product and - removal of the installed product. For more information, see - - Bob Arnson's blog post "Paying for Upgrades" - for details. If installation of the upgrade product fails, Windows Installer - also rolls back the removal of the installed product -- in other words, reinstalls it. - - - - - - - Schedules RemoveExistingProducts between the InstallExecuteAgain and InstallFinalize standard actions. - This is identical to the afterInstallExecute scheduling but after the InstallExecuteAgain standard - action instead of InstallExecute. - - - - - - - Schedules RemoveExistingProducts after the InstallFinalize standard action. This is similar to the - afterInstallExecute and afterInstallExecuteAgain schedulings but takes place outside the - installation transaction so if installation of the upgrade product fails, Windows Installer does - not roll back the removal of the installed product, so the machine will have both versions - installed. - - - - - - - - - - - - - - - - - - - - Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. - - - - - Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. - - - - - Specifies the set of languages detected by FindRelatedProducts. Enter a list of numeric language identifiers (LANGID) separated by commas (,). Leave this value null to specify all languages. Set ExcludeLanguages to "yes" in order detect all languages, excluding the languages listed in this value. - - - - - Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default. - - - - - Set to "yes" to make the range of versions detected include the value specified in Maximum. - - - - - Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. - - - - - This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - Text node specifies the condition of the action. - - - - The name of an action that this action should come after. - - - - - The name of an action that this action should come before. - - - - - - If "yes", the sequencing of this action may be overridden by sequencing elsewhere. - - - - - - A value used to indicate the position of this action in a sequence. - - - - - If yes, this action will not occur. - - - - - - - - - - - A value used to indicate the position of this action in a sequence. - - - - - If yes, this action will not occur. - - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples. - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". A GUID can be auto-generated by setting the value to "*". Also allows "PUT-GUID-HERE" for use in examples. - - - - - - - - Values of this type will either be "attached" or "detached". - - - - - - - - - The list of communcation protocols with executable packages Burn supports. - - - - - - - The executable package does not support a communication protocol. - - - - - - - The executable package is another Burn bundle and supports the Burn communication protocol. - - - - - - - The executable package implements the .NET Framework v4.0 communication protocol. - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}", but also allows "PUT-GUID-HERE" for use in examples. It's also possible to have an empty value "". - - - - - - - - Values of this type must be an integer or the value can be a localization variable with the format !(loc.Variable) where "Variable" is the name of the variable. - - - - - - - - Values of this type will look like: "FileName.ext". Only one period is allowed. The following characters are not allowed: \ ? | > : / * " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE). - - - - - - - - Values of this type will look like: "Long File Name.extension". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ ? | > : / * " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE). - - - - - - - - Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. - - - - - - - - Values of this type will look like: "File?.*". Only one period is allowed. The following characters are not allowed: \ | > : / " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE). - - - - - - - - Values of this type will look like: "Long File N?me.extension*". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ | > : / " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE). - - - - - - - - This type supports any hexadecimal number. Both upper and lower case is acceptable for letters appearing in the number. This type also includes the empty string: "". - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - Values of this type will either be "button", "yes" or "no". - - - - - - Values of this type will either be "button", "yes" or "no". - - - - - - - - - - Values of this type will either be "default", "yes", or "no". - - - - - - Values of this type will either be "default", "yes", or "no". - - - - - - - - - - Values of this type will either be "always", "yes", or "no". - - - - - - Values of this type will either be "always", "yes", or "no". - - - - - - - - - - Values of this type represent possible registry roots. - - - - - - A per-user installation will make the operation occur under HKEY_CURRENT_USER. - A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. - - - - - - - Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value - from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, - the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. - - - - - - - Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values - in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. - - - - - - - Operation occurs under HKEY_LOCAL_MACHINE. - - - - - - - Operation occurs under HKEY_USERS. - - - - - - - - Value indicates that this action is executed if the installer returns the associated exit type. Each exit type can be used with no more than one action. - Multiple actions can have exit types assigned, but every action and exit type must be different. Exit types are typically used with dialog boxes. - - - - - - - - - - - Specifies whether an action occur on install, uninstall or both. - - - - - - The action should happen during install (msiInstallStateLocal or msiInstallStateSource). - - - - - - - The action should happen during uninstall (msiInstallStateAbsent). - - - - - - - The action should happen during both install and uninstall. - - - - - - - - - Controls which sequences the item assignment is sequenced in. - - - - - - - Schedules the assignment in the InstallUISequence and the InstallExecuteSequence. - - - - - - - Schedules the assignment to run in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped. - - - - - - - Schedules the assignment only in the the InstallExecuteSequence. - - - - - - - Schedules the assignment only in the the InstallUISequence. - - - - - - - - - Indicates the compression level for a cabinet. - - - - - - - - Indicates the compression level for a cabinet. - - - - - - - - - - - - - A type that represents that 1 or more preprocessor variables (as they appear in sources on disk, before preprocessor has run). - - - - - - - - Values of this type must be an integer or the value of one or more preprocessor variables with the format $(var.Variable) where "Variable" is the name of the preprocessor variable. - - - - - - diff --git a/src/Schemas/v4/schemas/wixloc4.xsd b/src/Schemas/v4/schemas/wixloc4.xsd deleted file mode 100644 index 9f1814c..0000000 --- a/src/Schemas/v4/schemas/wixloc4.xsd +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - Schema for describing WiX Localization files (.wxl). - - - - - - - - You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252 or iso-8859-1. See Code Pages for more information. - - How To: Build a localized version of your installer - How To: Make your installer localizable - - - - - - - - - - The code page integer value or web name for the resulting database. You can also specify -1 which will not reset the database code page. See remarks for more information. - - - - - Culture of the localization strings. - - - - - The decimal language ID (LCID) for the culture. - - - - - - - - - How To: Build a localized version of your installer - How To: Make your installer localizable - - - - - - Identity of the resource. - - - - - Determines if the localized string may be overridden. - - - - - Indicates whether the string is localizable text or a non-localizable string that must be unique per locale. No WiX tools are affected by the value of this attribute; it used as documentation for localizers to ignore things like GUIDs or identifiers that look like text. - - - - - - - - Allows a localization to override the position, size, and text of dialogs and controls. Override the text by specifying the replacement text in the inner text of the UI element. - - - - - Identifies the dialog to localize or the dialog that a control to localize is in. - - - - - Combined with the Dialog attribute, identifies the control to localize. - - - - - For a dialog, overrides the authored horizontal centering. For a control, overrides the authored horizontal coordinate of the upper-left corner of the rectangular boundary. This must be a non-negative number. - - - - - For a dialog, overrides the authored vertical centering. For a control, overrides the authored vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. - - - - - For a dialog, overrides the authored width in dialog units. For a control, overrides the authored width of the rectangular boundary of the control. This must be a non-negative number. - - - - - For a dialog, overrides the authored height in dialog units. For a control, overrides the authored height of the rectangular boundary of the control. This must be a non-negative number. - - - - - Set this attribute to "yes" to cause the Control to display from right to left. Not valid for a dialog. - - - - - Set this attribute to "yes" to cause the Control to be right aligned. Not valid for a dialog. - - - - - Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. Not valid for a dialog. - - - - - - - - - - - - diff --git a/src/Schemas/v4/source.extension.vsixmanifest b/src/Schemas/v4/source.extension.vsixmanifest deleted file mode 100644 index fe1f764..0000000 --- a/src/Schemas/v4/source.extension.vsixmanifest +++ /dev/null @@ -1,17 +0,0 @@ - - - - - WiX Toolset v4 Schemas for Visual Studio - Visual Studio integraion for the WiX Toolset v4 schemas - http://wixtoolset.org/ - WixLogo.png - WixLogo.png - - - - - - - - diff --git a/src/Schemas/v4/v4schemas.csproj b/src/Schemas/v4/v4schemas.csproj deleted file mode 100644 index c8df8df..0000000 --- a/src/Schemas/v4/v4schemas.csproj +++ /dev/null @@ -1,165 +0,0 @@ - - - - {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - {587D2A86-66CF-46B4-98C8-C01E20F1076D} - Library - Schemas4 - true - v3 - false - false - false - false - false - false - false - - - - - - - - - - true - - - - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - true - Schemas - . - - - - - 15.0.26201 - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - 2.2.33 - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - \ No newline at end of file diff --git a/src/Templates/v4/Items/BlankFile/BlankFile.ico b/src/Templates/v4/Items/BlankFile/BlankFile.ico deleted file mode 100644 index 402b32d8bcd2cea947cf510bcd5ff28288e16ef8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14278 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 diff --git a/src/Templates/v4/Items/BlankFile/BlankFile.vstemplate b/src/Templates/v4/Items/BlankFile/BlankFile.vstemplate deleted file mode 100644 index 1c95f71..0000000 --- a/src/Templates/v4/Items/BlankFile/BlankFile.vstemplate +++ /dev/null @@ -1,17 +0,0 @@ - - - Installer File - A blank WiX file (.wxs) - BlankFile.ico - WiX - 20 - File.wxs - true - - - BlankFile.wxs - - - - - diff --git a/src/Templates/v4/Items/BlankFile/BlankFile.wxs b/src/Templates/v4/Items/BlankFile/BlankFile.wxs deleted file mode 100644 index 2aa2f93..0000000 --- a/src/Templates/v4/Items/BlankFile/BlankFile.wxs +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Templates/v4/Items/IncludeFile/IncludeFile.ico b/src/Templates/v4/Items/IncludeFile/IncludeFile.ico deleted file mode 100644 index 1429bf2d6bc79570e32d21c31fa3f55754381427..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98571 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 Vjb0N-GD8x2hbHhoD=W^3{{=KjJ(B - - Include File - An empty WiX include file (.wxi) - IncludeFile.ico - WiX - 30 - Include.wxi - true - - - IncludeFile.wxi - - - - - diff --git a/src/Templates/v4/Items/IncludeFile/IncludeFile.wxi b/src/Templates/v4/Items/IncludeFile/IncludeFile.wxi deleted file mode 100644 index c809b85..0000000 --- a/src/Templates/v4/Items/IncludeFile/IncludeFile.wxi +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/Templates/v4/Items/LocalizationFile/LocalizationFile.ico b/src/Templates/v4/Items/LocalizationFile/LocalizationFile.ico deleted file mode 100644 index b5bcc9f2176e42b1d0148b7cba2af12da3b8eb0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105449 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 _wxCr4qDP9R;YDkz7~9!h6} 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 E59vK|kN^Mx diff --git a/src/Templates/v4/Items/LocalizationFile/LocalizationFile.vstemplate b/src/Templates/v4/Items/LocalizationFile/LocalizationFile.vstemplate deleted file mode 100644 index 9ea79a8..0000000 --- a/src/Templates/v4/Items/LocalizationFile/LocalizationFile.vstemplate +++ /dev/null @@ -1,17 +0,0 @@ - - - Localization File - An empty WiX localization file (.wxl) - LocalizationFile.ico - WiX - 40 - Strings.wxl - true - - - LocalizationFile.wxl - - - - - diff --git a/src/Templates/v4/Items/LocalizationFile/LocalizationFile.wxl b/src/Templates/v4/Items/LocalizationFile/LocalizationFile.wxl deleted file mode 100644 index d4deb2f..0000000 --- a/src/Templates/v4/Items/LocalizationFile/LocalizationFile.wxl +++ /dev/null @@ -1,4 +0,0 @@ - - - $loc_YOURLOCSTRING$ - diff --git a/src/Templates/v4/Items/TextFile/TextFile.ico b/src/Templates/v4/Items/TextFile/TextFile.ico deleted file mode 100644 index 78f2ef525710e8833fd0ff1cd3fda3181f99eb3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13206 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 - - Text File - A blank text file (.txt) - TextFile.ico - WiX - 200 - TextFile.txt - true - - - TextFile.txt - - diff --git a/src/Templates/v4/Projects/CustomActionCS/AssemblyInfo.cs b/src/Templates/v4/Projects/CustomActionCS/AssemblyInfo.cs deleted file mode 100644 index c1c0feb..0000000 --- a/src/Templates/v4/Projects/CustomActionCS/AssemblyInfo.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("$projectname$")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyCompany("$registeredorganization$")] -[assembly: AssemblyProduct("$projectname$")] -[assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("$guid1$")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Templates/v4/Projects/CustomActionCS/CustomAction.config b/src/Templates/v4/Projects/CustomActionCS/CustomAction.config deleted file mode 100644 index 1abff70..0000000 --- a/src/Templates/v4/Projects/CustomActionCS/CustomAction.config +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/Templates/v4/Projects/CustomActionCS/CustomAction.cs b/src/Templates/v4/Projects/CustomActionCS/CustomAction.cs deleted file mode 100644 index 7d508b7..0000000 --- a/src/Templates/v4/Projects/CustomActionCS/CustomAction.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -$if$ ($targetframeworkversion$ == 3.5)using System.Linq; -$endif$using System.Text; -using WixToolset.Dtf.WindowsInstaller; - -namespace $safeprojectname$ -{ - public class CustomActions - { - [CustomAction] - public static ActionResult CustomAction1(Session session) - { - session.Log("Begin CustomAction1"); - - return ActionResult.Success; - } - } -} diff --git a/src/Templates/v4/Projects/CustomActionCS/CustomAction.csproj b/src/Templates/v4/Projects/CustomActionCS/CustomAction.csproj deleted file mode 100644 index 9d5efe7..0000000 --- a/src/Templates/v4/Projects/CustomActionCS/CustomAction.csproj +++ /dev/null @@ -1,58 +0,0 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - $guid1$ - Library - Properties - $safeprojectname$ - $safeprojectname$ - v$targetframeworkversion$ - 512 - $(MSBuildExtensionsPath)\WiX Toolset\v4\Wix.CA.targets - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - $if$ ($targetframeworkversion$ >= 3.5) - - - $endif$ - $if$ ($targetframeworkversion$ >= 4.0) - - $endif$ - - - True - - - - - - - - - - - - - diff --git a/src/Templates/v4/Projects/CustomActionCS/CustomActionCS.vstemplate b/src/Templates/v4/Projects/CustomActionCS/CustomActionCS.vstemplate deleted file mode 100644 index 9e7bd6a..0000000 --- a/src/Templates/v4/Projects/CustomActionCS/CustomActionCS.vstemplate +++ /dev/null @@ -1,23 +0,0 @@ - - - - C# Custom Action Project for WiX v4 - A project for creating an MSI custom action using WiX Toolset v4 - - WiX - WixToolset.Dtf.WindowsInstaller.CustomActionCS - 2.0 - 60 - 1 - true - CustomAction - true - - - - CustomAction.cs - AssemblyInfo.cs - CustomAction.config - - - diff --git a/src/Templates/v4/Projects/CustomActionVB/AssemblyInfo.vb b/src/Templates/v4/Projects/CustomActionVB/AssemblyInfo.vb deleted file mode 100644 index 29ad3c5..0000000 --- a/src/Templates/v4/Projects/CustomActionVB/AssemblyInfo.vb +++ /dev/null @@ -1,35 +0,0 @@ -Imports System -Imports System.Reflection -Imports System.Runtime.InteropServices - -' General Information about an assembly is controlled through the following -' set of attributes. Change these attribute values to modify the information -' associated with an assembly. - -' Review the values of the assembly attributes - - - - - - - - - - -'The following GUID is for the ID of the typelib if this project is exposed to COM - - -' Version information for an assembly consists of the following four values: -' -' Major Version -' Minor Version -' Build Number -' Revision -' -' You can specify all the values or you can default the Build and Revision Numbers -' by using the '*' as shown below: -' - - - diff --git a/src/Templates/v4/Projects/CustomActionVB/CustomAction.config b/src/Templates/v4/Projects/CustomActionVB/CustomAction.config deleted file mode 100644 index 1abff70..0000000 --- a/src/Templates/v4/Projects/CustomActionVB/CustomAction.config +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/Templates/v4/Projects/CustomActionVB/CustomAction.vb b/src/Templates/v4/Projects/CustomActionVB/CustomAction.vb deleted file mode 100644 index 9bc75c3..0000000 --- a/src/Templates/v4/Projects/CustomActionVB/CustomAction.vb +++ /dev/null @@ -1,10 +0,0 @@ -Public Class CustomActions - - _ - Public Shared Function CustomAction1(ByVal session As Session) As ActionResult - session.Log("Begin CustomAction1") - - Return ActionResult.Success - End Function - -End Class diff --git a/src/Templates/v4/Projects/CustomActionVB/CustomAction.vbproj b/src/Templates/v4/Projects/CustomActionVB/CustomAction.vbproj deleted file mode 100644 index 91a117e..0000000 --- a/src/Templates/v4/Projects/CustomActionVB/CustomAction.vbproj +++ /dev/null @@ -1,66 +0,0 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - {$guid2$} - Library - $safeprojectname$ - $safeprojectname$ - v$targetframeworkversion$ - 512 - Windows - $(MSBuildExtensionsPath)\WiX Toolset\v4\Wix.CA.targets - - - true - full - true - true - bin\Debug\ - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - -$if$ ($targetframeworkversion$ >= 3.5) - - -$endif$ - - - True - - - - - - - - - $if$ ($targetframeworkversion$ >= 3.5) - - - $endif$ - - - - - - - - - - - - - diff --git a/src/Templates/v4/Projects/CustomActionVB/CustomActionVB.vstemplate b/src/Templates/v4/Projects/CustomActionVB/CustomActionVB.vstemplate deleted file mode 100644 index eacc3b5..0000000 --- a/src/Templates/v4/Projects/CustomActionVB/CustomActionVB.vstemplate +++ /dev/null @@ -1,23 +0,0 @@ - - - - VB Custom Action Project for WiX v4 - A project for creating an MSI custom action using WiX Toolset v4 - - WiX - WixToolset.Dtf.WindowsInstaller.CustomActionVB - 2.0 - 70 - 1 - true - CustomAction - true - - - - CustomAction.vb - AssemblyInfo.vb - CustomAction.config - - - diff --git a/src/Templates/v4/Projects/WixBundleProject/Bundle.Generated.wxs b/src/Templates/v4/Projects/WixBundleProject/Bundle.Generated.wxs deleted file mode 100644 index ff4bfbc..0000000 --- a/src/Templates/v4/Projects/WixBundleProject/Bundle.Generated.wxs +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/Templates/v4/Projects/WixBundleProject/Bundle.wxs b/src/Templates/v4/Projects/WixBundleProject/Bundle.wxs deleted file mode 100644 index 0f77b9d..0000000 --- a/src/Templates/v4/Projects/WixBundleProject/Bundle.wxs +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/Templates/v4/Projects/WixBundleProject/BundleProject.wixproj b/src/Templates/v4/Projects/WixBundleProject/BundleProject.wixproj deleted file mode 100644 index 8a01ba3..0000000 --- a/src/Templates/v4/Projects/WixBundleProject/BundleProject.wixproj +++ /dev/null @@ -1,43 +0,0 @@ - - - - Debug - x86 - 4.0 - $guid1$ - 2.0 - $safeprojectname$ - Bundle - $(MSBuildExtensionsPath)\WiX Toolset\v4\wix.targets - - - bin\$(Configuration)\ - obj\$(Configuration)\ - Debug - - - bin\$(Configuration)\ - obj\$(Configuration)\ - - - - - - - $(WixExtDir)\WixBalExtension.dll - WixBalExtension - - - - - - - - diff --git a/src/Templates/v4/Projects/WixBundleProject/WixBundle.ico b/src/Templates/v4/Projects/WixBundleProject/WixBundle.ico deleted file mode 100644 index 504b3b24f730dba8d2764276a4a532dcac2d147c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10134 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 - - Bootstrapper Project for WiX v4 - A project for creating a WiX based EXE setup layout using WiX Toolset v4 - WixBundle.ico - WiX - 50 - 1 - true - Bootstrapper - true - false - - - - Bundle.wxs - - - - - - - - - diff --git a/src/Templates/v4/Projects/WixLibrary/Library.wxs b/src/Templates/v4/Projects/WixLibrary/Library.wxs deleted file mode 100644 index d5a2c52..0000000 --- a/src/Templates/v4/Projects/WixLibrary/Library.wxs +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Templates/v4/Projects/WixLibrary/WixLibrary.ico b/src/Templates/v4/Projects/WixLibrary/WixLibrary.ico deleted file mode 100644 index a97229638edae0153143541fefe43a9dc497ae7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10134 zcmeHNU2Igx6+W|G{IiDLJ9pPhOh|IqhC-S)bXU%Eyf#WuA0m-j5p9wRKcve`QQ*N! zpV&yTBJoi5DH2XzA`xPfA1MX#QYl4h^BtQtg-<(*6Vg#84llpmaY>PvrfBp>lQu# z{C{Zf+Z(hnKTpSxU!l3VMLK$PhAv&2qYpp)hTeK>mS$(?>D_l{=!1WLKoduf(6M93 z=(*>S$=$&_F z=$U8!O-GJgre~kMKwp0OE$!ZYo?d%xnogZMMbpza>CHE1XnuZ?u3nv|H{O`0{eRp~ zC;obZ78e$g&n3Ec?HVmEF4D&zeM~p!ZqmZSLY>*Isn%9tZ3R|c0TnjUtKQyTrhJ=i zq>^n(rX5Lc8`?x~KwD$zLKGn7%nM^59`{_(icH=#Y z5G=0NwRd!ObtJmihdXLGrhDAN#goSbrBUijU`x&5iRDl02Hh zZ^qxn$Fsz+j}V?CRorIqSHcrN;cou0FY_8PvF}QF;wRko$5`2sm*pxxE_dwheZjI^ z6Yk@gYIq&^T0}XI;aO|&tTlMnekAzrJ%H!6!SmXnPJr#4!E@W-xou_cC< z{-_5G>H&j#z@Q#5s0R${0fV~3pnfo@3k>Q4gSvqIzh{5G7iCVUJ#1Xm9|rY@LH%J+ ze;Cvs)*tnULH%J+e+d2{#}L9bILdQGtz$7|4ybi({-}2h>K%i6$ND=zMcajM0`xZM zzo37CZh$@k8PrnN2mQ}MUxVJJL(vG$%Qs-k^;`fN1T|ata?KmozGc+DWz@c5`3n|y zm^Wx#2Xo_^o12QoV#Qdjy($Mmp!e+Ali>z4r82&LN&hkkwXBs-#7}<>fwa>dsv`84hl2;r-qR1mM{SSRoStzv0P># zGoVNMb-z}RmrA8#rr=}59~cPr#q@A`SPx|Si<;y0>EWUN9(X(g*&+{T3h83O&%>UB z7W?%`CO-;1N_Iz3T{gGVWm90Gnq0Sst~C%E_n-xZ@pCsU}R2% zE(Ln&ect%JWn|P-MUA#C4#Lw^!bJ@N}y#M|zz3{?U_Wfq- z)-&|!r&sNJ$-#pM>E)Ndrd_*s(aDo1>Am-+>HPWYbolUL+PilzO-)VFJl-+*-D7fc zlFptzi@0lTZ3Wg=;I3YQu*R?bjV5b1O6aA487ajAJ^tJe+4{;^_?dzA~FZXYxui#gfc)5S5uZ>Gj@(<(7XpJ|iUxq6YLVsKv zdu3#_##^qxceC0ogzkO!x8vZF@x!*Mb`#cmHGOYw(CO9m_b8R^N~lCvR&{qJvRzz4 zDOJ<=D3y+PsE$;c^(r09c5QU@83c_dQk|(p%Idr0Fmm+1QeKzWkxq4|JofL7r`ke& zxME4A;F(APp^fz$;xM=Vp}t+IScmF_CJ~2zeb;)mf%B8*%*pMF8b1`L#TnYRnw|}W zVm37%xV!3+(CvozR`mh_T)GMz=3{xnpjh_5W{t)Rj%WZ%6GUZ<&8o&+~NW zznVTe-mKgzeD``Z)0h0B_$&Fk^IuKB(s;eGR^v;&MqF|dyXgF7TsYgi^Oteqq8GUl zzuWO8KbO1ncgLmA`bP5>z4(Y6U4PNL{HMg1yo7Tef?tn|eIqXO61(X9Wn8%6i+rcN z5x(eMemmEKmM*Eda=cMqSfI%(lE(7G>eb3$Epv`BMr_o z4bCy`7;~Ii8Xk}0v&`d+DY@YMvKp%ye4Kq&?KvJ}^PCwI=cty8yb?aI2m8pHuuX-U zy8bwW6??<$$Z?qSym@Y%2V*ejad-VCAI4`r&VsA4Sm(}Peg{#`-{T}_cb?LBuLH-A z;^SP|&fm>l;x&WMzgMy6>nM1<_U@W;K0HqsALrWEhB?RJT%z|M=TNV~?=OPiYF-al zbimvO`tEkHc^#tHdIf)b{|Qb#Ude&ifxp@P4Ri?f4-l^_^WTA3XV;n6ID*eM`$5Mm ab{uQlk8n=0>UWefCdg#Jr=Y{%RDJ*{ALsf2 diff --git a/src/Templates/v4/Projects/WixLibrary/WixLibrary.vstemplate b/src/Templates/v4/Projects/WixLibrary/WixLibrary.vstemplate deleted file mode 100644 index c3e3dfc..0000000 --- a/src/Templates/v4/Projects/WixLibrary/WixLibrary.vstemplate +++ /dev/null @@ -1,23 +0,0 @@ - - - Setup Library Project for WiX v4 - A project for creating a wixlib library using WiX Toolset v4 - WixLibrary.ico - WiX - 40 - 1 - true - SetupLibrary - true - - - - Library.wxs - - - - - - - - diff --git a/src/Templates/v4/Projects/WixLibrary/setuplibrary.wixproj b/src/Templates/v4/Projects/WixLibrary/setuplibrary.wixproj deleted file mode 100644 index 8c66acc..0000000 --- a/src/Templates/v4/Projects/WixLibrary/setuplibrary.wixproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - Debug - x86 - 4.0 - $guid1$ - 2.0 - $safeprojectname$ - Library - $(MSBuildExtensionsPath)\WiX Toolset\v4\wix.targets - - - bin\$(Configuration)\ - obj\$(Configuration)\ - Debug - - - bin\$(Configuration)\ - obj\$(Configuration)\ - - - - - - - - - - diff --git a/src/Templates/v4/Projects/WixMergeModule/MergeModule.wixproj b/src/Templates/v4/Projects/WixMergeModule/MergeModule.wixproj deleted file mode 100644 index b8567d4..0000000 --- a/src/Templates/v4/Projects/WixMergeModule/MergeModule.wixproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - Debug - x86 - 4.0 - $guid1$ - 2.0 - $safeprojectname$ - Module - $(MSBuildExtensionsPath)\WiX Toolset\v4\wix.targets - - - bin\$(Configuration)\ - obj\$(Configuration)\ - Debug - - - bin\$(Configuration)\ - obj\$(Configuration)\ - - - - - - - - - - diff --git a/src/Templates/v4/Projects/WixMergeModule/MergeModule.wxs b/src/Templates/v4/Projects/WixMergeModule/MergeModule.wxs deleted file mode 100644 index a275d05..0000000 --- a/src/Templates/v4/Projects/WixMergeModule/MergeModule.wxs +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/Templates/v4/Projects/WixMergeModule/WixMergeModule.ico b/src/Templates/v4/Projects/WixMergeModule/WixMergeModule.ico deleted file mode 100644 index bc3faa432e9a4aec98f61d5187a0bdf8a0c3f073..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10134 zcmeHNTWnOv8UAOzzO7+>W_NvALc-a#U6b@ec3IN8PMcjDC5VS0s8yv+s6dE14_pEd zCJ#t;A1D$JRaL2xAV{bcAvU>42?!o4rAXvP5}_7Bokog8p~jX71Y;ZJrJ8>KoSogX zhu!tsF)39&_}`g-{>wM>pR+Un%t9onhAhiM?Wg5}=$Ay`349$rUrqE|^f|mu&-;n) z)DYRWqd)E=`b7itj{Z;`(UU>L+cX3}H=Bu;vriDzh;hmlr4$Vg4$_%3XP|~QD}%>} zskjCH?johso$K3@2w2CGi3DaPWk|{@1$e}3 zwq+0oUx5nagkY8_ckbMw7hd=WO?-KarY0xp`0;BrF)>X?kB-rmD--no`(My&uZ`3A z_$0mg<`}*A?t66T;6XZe>=!g!w6lxc$1!ec7$Gf z=_>W~^w8?ntLfUcYxKq&WAxl}f2V^7uhPbiBlPK~U()*Zm+0`}Q95<%6pfDFrdMAb zqshr>x_*6(57YMT+iB;{os>?eY1_7KG&MCg$VqAL_p}0 zpKDi?%a5zFg}S=Bq9VE?=#<4(kUt(Z{KLVjt{-(ryP|$aJqZ4X-H*HZ$G#u^L8>b+ z7m4J`)T*p^=vS>+@u>e%7tejBa69;LF!;!~1^*M@`R@0sf*4*~du?6Ew`w~&mkZ{X zJh1e^hnCee*|E5&S{w{E3QLBP*_l)%>orc0Q1v z7S`Co5|s9+7G<%9DXgP+5!SK4VBH>^fzoVmi2YzJ+85SPg|)mSVXar}+l`MkG&hcN z_E@*IUt^DTS78m-w#Fa!8}?t6%(#p_)^Kgl__MXgexR@)Xl(2W3j2iiQ7Jw@JM1$G z`;5XqqwTTJ6dkvjk9+()2aXjJ_AJG?TpQhDwb$Oom$fs#T>AR`VBS0vZeveX*i-ep z;H~-nz+S7c*DCC_AMp6u#{CXrzgF0<74ih=PAKf#3j4O^xsCl>VgJ_tz4pil6!HOu zd_W-|P{;=m+YyDlLm_`q$O{zm0z4ya|8KVEchSrVxrg?P{6iuCP{=$S|D!xd>o zkV|PBv_AoT4tia1J~zj53wE5(*`PG2(!7^*UMKhEEO(IfpHrcYMg@hFU!=b|&DLkQ z^pEM z5`k_c5_04}8)gPwR=Z`jhkSA%D{tOqwQRO*`AlBk%x;0th?yP%e<%Zx%S=W#?@G&% zZ}?B}CNq#fwb>Gn{60Dy)7n}t;{H%PmO+8sidlj!SXjq~p*jP)V#~t!eCBgY zU*AQXF)q^+PyCJW-PY%V{{9iVe0c(hAL9&jRi7i?d1stneDO1VzUk;VPal1BU7t&K z@7_)O_kT`n)~unECr{E_Z;jHWOE>AjfdjN@(b zL);~wFZouhxD%BF#Gf=TZK^QnAz! znh!oygNsY{@02Ckx3Hkf%cBMThRMrYg=nr1h(LX_Xs8b~*IUAelWShyBt+O>D{33V zEEi#4bA5|T9)U-Hps}to(5U4Neki%*At9`Kt2W%&&}gxJgTJxLkvp*q3IWSNBM_=s zzSs|SZSTlygz(jhI!FS3$QRWw5{r3!rkDwNY9mJ4;3|HG)+H}z1w%ePH14>+@)X-O z-21D^=aJdce9nNe-Dk#`+N}TI#z!7m(fN8NJ)Vbq{^mKjW8m#$ekQ+_%IAvj9^YKr zW_(_Jw=d+&Mc)f|yxjV;X;*?@%HP+CzwucNztntw4*a`@ksDpyCu$k)BNda0 zSEcy4d(7G3K2qU6Q{f&{_i>FoOU3S{*E$;2{P&5Q_$ewRQ>}@#>m+K diff --git a/src/Templates/v4/Projects/WixMergeModule/WixMergeModule.vstemplate b/src/Templates/v4/Projects/WixMergeModule/WixMergeModule.vstemplate deleted file mode 100644 index 89b0acb..0000000 --- a/src/Templates/v4/Projects/WixMergeModule/WixMergeModule.vstemplate +++ /dev/null @@ -1,24 +0,0 @@ - - - Merge Module Project for WiX v4 - A project for creating a WiX based MSM file using WiX Toolset v4 - WixMergeModule.ico - WiX - 30 - 1 - true - MergeModule - true - - - - MergeModule.wxs - - - - - - - - - diff --git a/src/Templates/v4/Projects/WixProject/Product.wxs b/src/Templates/v4/Projects/WixProject/Product.wxs deleted file mode 100644 index ec28518..0000000 --- a/src/Templates/v4/Projects/WixProject/Product.wxs +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Templates/v4/Projects/WixProject/SetupProject.wixproj b/src/Templates/v4/Projects/WixProject/SetupProject.wixproj deleted file mode 100644 index 6198bc4..0000000 --- a/src/Templates/v4/Projects/WixProject/SetupProject.wixproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - Debug - x86 - 3.9 - $guid1$ - 2.0 - $safeprojectname$ - Package - $(MSBuildExtensionsPath)\WiX Toolset\v4\wix.targets - - - bin\$(Configuration)\ - obj\$(Configuration)\ - Debug - - - bin\$(Configuration)\ - obj\$(Configuration)\ - - - - - - - - - - diff --git a/src/Templates/v4/Projects/WixProject/WixProject.ico b/src/Templates/v4/Projects/WixProject/WixProject.ico deleted file mode 100644 index 8662f99d082a22814d5d190764745a46f06b0ba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10134 zcmeHNO>7fK6n6i z`{r$k1a**QS!koQQ4oDYgg&94pnWl-?=j~0)3h&2wA4YAPW$|G5uz`T*=8nM=;38}$y+}y{moAaD(Hk-?4Gj>Kw zPuiaCIbg6e4*CxF(Mm^;gJ5TDuRNZ0LGU~~?b?o`+g#pGL7!JF=2IT*c$u8%VO9{6 z60TDT@meXAAn+Vm9VY~{0W2*o(SZYh(Al#yw6O4uPM(~lhYuI%`t?V2?%W*B%`MW! zi?cL7K29f2oS@OsQQEWT9$mgXOIx>2(DCDc(XCsLX#4g_nwWS(J9bRc(W6r|JUmRB zH*cnynHjopVU~98{GE;+o1$I2Ch6|oziHdHJJ2^xSFc{B>FIyy^yyhzTzp3J^NV!q z)HLnizn`Y2rs(nG#|^x1liCqzN1$a95LG~;I~jm(A(Dg3{lO&qKm&Z=@;>Zk$_6%m z1pNa81DR~B!(A71*Kg4MHEZ8__r3R{&Icc+1^e40dRJT0c2a%)g0$$WXsjb1OLTVm zPgGxBgqzkrXVWcPhOi<$qlbW{mqaa#=eNT1dqv1H#wN?+ncTFz;SI{O4)mKs<7->q zU-v*fUOIkeO;{J+yAAc=-K+5KWuBjT4Oj;6^a`>(-rEZKf0E^31KhvRsNBGkBHRRW6eFYw{GU$W902&6Q zwa(`^9DUFSe)z!}3I*0@Wi(Z*^!eFc-v;v!F`X4+xNM(!HUFo+K4xI0($}Yb#hC9O z{Pl%-_S!!Xv^1K+ke+{5YiA8o&);`Rs}Ms7PbQU5<>iPg-7?+I*%-0&d8y^4Q*??l zpK=SjpOwX7w+|AZps!UIQ#q%Qvpw)@t*#tNc_YPwD|yMWMtaVC(OW?C$UHZ?FCZpl zR$9`+nW+LLh_(m`dg`JAQH=o~re*a$|NnE#$jAiF8V_jGrr&7q-bs4!U;&nH;tVsT z&k@(I&C#Jl_h|k4TXf^bygrj0Ja~`}AHGjpwrrs*SFX^dOVf1c&J#LvWV{`A;kHka= zD2XWOUGXl_&Hfpva8=(Ja`g`>%BD3e(=k(hisv?BT%$^of}0YQv4CM!rluynzfJGUqu%6K;%w0@g2bbcEBz7d7Squf7dW{!;9LYrlB6G z7|ot;);{Wx6&chf73!G^^-Mj+E$Www$HVry&*N;<_<~wyMOQQSQ3tK?vp%-Xb7q^U zr|Q=9YuV>`u#AZb^OUiv^+!F{@GFiZ>*1E?&2wWv*ao*e9*n>7hwU>Rwcv^_rUmC8 z@T-a^I3Ap*xeu-b>kr#UeOb>x=)2LmQv1A)#vaE$7*qC#=NYt*`nKlbmTj^x;r+)x zGy=%|VEk=$+sLk=!R8?F`ATea9Kvf|LtgJcW2aGD_JQNT-|T(_eh2&s$Z_TN3n0^U joH@oJ`^@t#@NAinbq&6PIz_`8MG2GCbqd_@H - - Setup Project for WiX v4 - A project for creating a WiX based MSI file using WiX Toolset v4 - WixProject.ico - WiX - 20 - 1 - true - SetupProject - true - false - - - - Product.wxs - - - - - - - - - - - diff --git a/src/Templates/v4/Projects/customaction.config b/src/Templates/v4/Projects/customaction.config deleted file mode 100644 index 1abff70..0000000 --- a/src/Templates/v4/Projects/customaction.config +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/Templates/v4/v4templates.csproj b/src/Templates/v4/v4templates.csproj deleted file mode 100644 index e0ad84c..0000000 --- a/src/Templates/v4/v4templates.csproj +++ /dev/null @@ -1,53 +0,0 @@ - - - - {BD9B8F82-F240-4ED8-BCDC-8C1477C09CA8} - {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - v4templates - v4templates - false - false - true - false - false - false - false - false - WiX - - - - - - - v4 - - - - - - - - - - - - - - - - - - - - - 15.0.26201 - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - \ No newline at end of file diff --git a/src/Votive2017/Votive2017.csproj b/src/Votive2017/Votive2017.csproj index 4165f6f..18b7944 100644 --- a/src/Votive2017/Votive2017.csproj +++ b/src/Votive2017/Votive2017.csproj @@ -39,13 +39,6 @@ Schemas false - - {587D2A86-66CF-46B4-98C8-C01E20F1076D} - v4schemas - GetCopyToOutputDirectoryItems%3bVSIXContainerProjectOutputGroup%3b - Schemas - false - diff --git a/src/Votive2017/redirects/v4/wix.ca.targets b/src/Votive2017/redirects/v4/wix.ca.targets deleted file mode 100644 index e4a25eb..0000000 --- a/src/Votive2017/redirects/v4/wix.ca.targets +++ /dev/null @@ -1,12 +0,0 @@ - - - - - $([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\WiX Toolset\v4', 'InstallFolder', null, RegistryView.Registry32)) - - - - - - - diff --git a/src/Votive2017/redirects/v4/wix.nativeca.targets b/src/Votive2017/redirects/v4/wix.nativeca.targets deleted file mode 100644 index f004257..0000000 --- a/src/Votive2017/redirects/v4/wix.nativeca.targets +++ /dev/null @@ -1,12 +0,0 @@ - - - - - $([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\WiX Toolset\v4', 'InstallFolder', null, RegistryView.Registry32)) - - - - - - - diff --git a/src/Votive2017/redirects/v4/wix.targets b/src/Votive2017/redirects/v4/wix.targets deleted file mode 100644 index f460f68..0000000 --- a/src/Votive2017/redirects/v4/wix.targets +++ /dev/null @@ -1,12 +0,0 @@ - - - - - $([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\WiX Toolset\v4', 'InstallFolder', null, RegistryView.Registry32)) - - - - - - - diff --git a/src/Votive2017/schemas/bal4.xsd b/src/Votive2017/schemas/bal4.xsd deleted file mode 100644 index 73f1054..0000000 --- a/src/Votive2017/schemas/bal4.xsd +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Burn User Experience Extension. - - - - - - - - - Conditions for a bundle. The condition is specified in the inner text of the element. - - - - - - - - - - - - The condition that must evaluate to true for the installation to continue. - - - - - - Set the value to the text to display when the condition fails and the installation must be terminated. - - - - - - - - - - - - Configures WixStandardBootstrapperApplication for a Bundle. - - - - - - - - - - If set, the success page will show a Launch button the user can use to launch the application being installed. - The string value can be formatted using Burn variables enclosed in brackets, - to refer to installation directories and so forth. - - - - - - - Id of the target ApprovedExeForElevation element. - If set with LaunchTarget, WixStdBA will launch the application through the Engine's LaunchApprovedExe method instead of through ShellExecute. - - - - - - - If set, WixStdBA will supply these arguments when launching the application specified by the LaunchTarget attribute. - The string value can be formatted using Burn variables enclosed in brackets, - to refer to installation directories and so forth. - - - - - - - If set to "yes", WixStdBA will launch the application specified by the LaunchTarget attribute with the SW_HIDE flag. - This attribute is ignored when the LaunchTargetElevatedId attribute is specified. - - - - - - - WixStdBA will use this working folder when launching the specified application. - The string value can be formatted using Burn variables enclosed in brackets, - to refer to installation directories and so forth. - This attribute is ignored when the LaunchTargetElevatedId attribute is specified. - - - - - - Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl. - - - - - URL target of the license link. Cannot be used simultaneously with LicenseFile. This attribute can be empty to hide the license link completely. - - - - - Source file of the logo graphic. - - - - - Source file of the side logo graphic. - - - - - Source file of the theme XML. - - - - - Source file of the theme localization .wxl file. - - - - - If set to "yes", the Options button will not be shown and the user will not be able to choose an installation directory. - - - - - If set to "yes", attempting to installer a downgraded version of a bundle will be treated as a successful do-nothing operation. - The default behavior (or when explicitly set to "no") is to treat downgrade attempts as failures. - - - - - If set to "yes", the Repair button will not be shown in the maintenance-mode UI. - - - - - If set to "yes", the application version will be displayed on the UI. - - - - - If set to "yes", the bundle can be pre-cached using the /cache command line argument. - - - - - - - - - Configures the ManagedBootstrapperApplicationHost for a Bundle. - - - - - - - - - Source file of the logo graphic. - - - - - Source file of the theme XML. - - - - - Source file of the theme localization .wxl file. - - - - - - - - - When set to "yes", WixStdBA will load the DLL and work with it to handle BA messages. - - - - - - - - - - - When set to "yes", lets the user override the variable's default value by specifying another value on the command line, - in the form Variable=Value. Otherwise, WixStdBA won't overwrite the default value and will log - "Ignoring attempt to set non-overridable variable: 'BAR'." - - - - - - - - - - - Source file of the RTF license file. - There may only be one package in the bundle that has either the PrereqLicenseFile attribute or the PrereqLicenseUrl attribute. - - - - - - - - - - - - - - URL target of the license link. - There may only be one package in the bundle that has either the PrereqLicenseFile attribute or the PrereqLicenseUrl attribute. - - - - - - - - - - - - - - When set to "yes", the Prereq BA will plan the package to be installed if its InstallCondition is "true" or empty. - - - - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/src/Votive2017/schemas/cfg4.xsd b/src/Votive2017/schemas/cfg4.xsd deleted file mode 100644 index c612759..0000000 --- a/src/Votive2017/schemas/cfg4.xsd +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Settings Engine Extension. - - - - - - - - - Registers a product with the Cfg Engine in the global database - - - - - - - - - - - - - Name of the product. - - - - - - - - Version of the product. - - - - - - - - Public Key of the product. - - - - - - - - Feature to associate the autogenerated component with. - - - - - - diff --git a/src/Votive2017/schemas/complus4.xsd b/src/Votive2017/schemas/complus4.xsd deleted file mode 100644 index f7ddacc..0000000 --- a/src/Votive2017/schemas/complus4.xsd +++ /dev/null @@ -1,944 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset COM+ Extension. - - - - - - - - - - - - - - - Defines a COM+ partition. If this element is a child of a - Component element, the partition will be created in association with this - component. If the element is a child of any of the Fragment, Module or Product - elements it is considered to be a locater, referencing an existing partition. - - - - - - - - - - - - - Identifier for the element. - - - - - Id for the partition. This attribute can be omitted, in - which case an id will be generated on install. If the element is a locater, - this attribute can be omitted if a value is provided for the Name attribute. - - - - - Name of the partition. This attribute can be omitted if - the element is a locater, and a value is provided for the PartitionId - attribute. - - - - - - - - - - - - - - - - - - Defines a COM+ partition role. Partition roles can not be - created; this element can only be used as a locater to reference an existing - role. - - - - - - - - - - - - Identifier for the element. - - - - - The id of a ComPlusPartition element representing the partition - the role belongs to. - - - - - Name of the partition role. - - - - - - - - - - - - This element represents a user membership in a partition - role. When the parent component of this element is installed, the user will be - added to the associated partition role. - - - - - - Identifier for the element. - - - - - The id of a ComPlusPartitionRole element representing the - partition the user should be added to. - - - - - Foreign key into the User table. - - - - - - - - - - - - This element represents a security group membership in a - partition role. When the parent component of this element is installed, the - security group will be added to the associated partition role. - - - - - - Identifier for the element. - - - - - The id of a ComPlusPartitionRole element representing the - partition the user should be added to. - - - - - Foreign key into the Group table. - - - - - - - - - - - - Represents a default partition definition for a user. When - the parent component of this element is installed, the default partition of the - user will be set to the referenced partition. - - - - - - Identifier for the element. - - - - - The id of a ComPlusPartition element representing the - partition that will be the default partition for the user. - - - - - Foreign key into the User table. - - - - - - - - - - - - - - - Defines a COM+ application. If this element is a descendent - of a Component element, the application will be created in association with - this component. If the element is a child of any of the Fragment, Module or - Product elements it is considered to be a locater, referencing an existing - application. - - If the element is a child of a ComPlusPartition element, - or have its Partition attribute set, the application will be installed under - the referenced partition. - - - - - - - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusPartition - element, this attribute can be provided with the id of a ComPlusPartition - element representing the partition the application belongs to. - - - - - Id for the application. This attribute can be omitted, in - which case an id will be generated on install. If the element is a locater, - this attribute can be omitted if a value is provided for the Name attribute. - - - - - Name of the application. This attribute can be omitted if - the element is a locater, and a value is provided for the PartitionId - attribute. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Defines an application role. If this element is a descendent - of a Component element, the application role will be created in association - with this component. If the element is a child of any of the Fragment, Module - or Product elements it is considered to be a locater, referencing an existing - application role. - - - - - - - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusApplication - element, this attribute should be provided with the id of a - ComPlusApplication element representing the application the role belongs to. - - - - - Name of the application role. - - - - - - - - - - - - - This element represents a user membership in an - application role. When the parent component of this element is installed, the - user will be added to the associated application role. This element must be a descendent - of a Component element; it can not be a child of a ComPlusApplicationRole - locater element. To reference a locater element use the ApplicationRole - attribute. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusApplicationRole - element, this attribute should be provided with the id of a - ComPlusApplicationRole element representing the application role the user is - to be added to. - - - - - Foreign key into the User table. - - - - - - - - - - - - This element represents a security group membership in an - application role. When the parent component of this element is installed, the - user will be added to the associated application role. This element must be a - descendent of a Component element; it can not be a child of a - ComPlusApplicationRole locater element. To reference a locater element use the - ApplicationRole attribute. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusApplicationRole - element, this attribute should be provided with the id of a - ComPlusApplicationRole element representing the application role the user is - to be added to. - - - - - Foreign key into the Group table. - - - - - - - - - Represents a DLL or assembly to be registered with COM+. If - this element is a child of a ComPlusApplication element, the assembly will be - registered in this application. Other ways the Application attribute must be - set to an application. The element must be a descendent of a Component element, - it can not be a child of a ComPlusApplication locator element. - - - - - - When installing a native assembly, all components - contained in the assembly must be represented as ComPlusComponent elements - under this element. Any component not listed will not be removed during - uninstall. - - - - The fields DllPath, TlbPath and PSDllPath are formatted - fields that should contain file paths to there respective file types. A typical - value for DllPath for example, should be something like “[#MyAssembly_dll]”, - where “MyAssembly_dll” is the key of the dll file in the File table. - - - - Warning: The assembly name provided in the AssemblyName - attribute must be a fully specified assembly name, if a partial name is - provided a random assembly matching the partial name will be selected. - - - - - - - - - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusApplication - element, this attribute should be provided with the id of a ComPlusApplication - element representing the application the assembly is to be registered in. - This attribute can be omitted for a .NET assembly even if the application is - not a child of a ComPlusApplication element. - - - - - The name of the assembly used to identify the assembly in - the GAC. This attribute can be provided only if DllPathFromGAC is set to - “yes”. - - - - - The path to locate the assembly DLL during registration. - This attribute should be provided if DllPathFromGAC is not set to “yes”. - - - - - An optional path to an external type lib for the assembly. - This attribute must be provided if the Type attribute is set to “.net”. - - - - - An optional path to an external proxy/stub DLL for the assembly. - - - - - - - - - - - - - - - Indicates that the assembly is to be installed as an event - class DLL. This attribute is only valid for native assemblies. The assembly - will be installed with the COM+ catalog’s InstallEventClass() function. - - - - - Indicates that the DLL path should be extracted from the - GAC instead for being provided in the DllPath attribute. If this attribute is - set to “yes”, the name of the assembly can be provided using the AssemblyName - attribute. Or, if this AssemblyName attribute is missing, the name will be - extracted from the MsiAssemblyName table using the id of the parent Component - element. - - - - - Indicates that the assembly should be installed in the - commit custom action instead of the normal deferred custom action. This is - necessary when installing .NET assemblies to the GAC in the same - installation, as the assemblies are not visible in the GAC until after the - InstallFinalize action has run. - - - - - - - - - Defines a dependency between two assemblies. This element - affects the order in which assembles are registered. Any assemblies referenced - by this element are guarantied to be registered before, and unregistered after, - the assembly referenced by the parent ComPlusAssembly element. - - - - It is only necessary to explicitly specify dependencies between - assemblies contained in the same package (MSI or MSM). Assemblies merged in to a - package from a merge module will always be installed before any assemblies - specified in the base package. Assemblies merged in from different merge - modules are sequenced using the ModuleDependency MSI table. It is not possible - to have cross dependencies between merge modules or have an assembly in a merge - module depend on an assembly in the base package. - - - - - - - Reference to the id of the assembly required by the parent - ComPlusAssembly element. - - - - - - - - Represents a COM+ component in an assembly. - - - - - - - - - - - - Identifier for the element. - - - - - CLSID of the component. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents a role assignment to a COM+ component. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusComponent - element, this attribute should be provided with the id of a ComPlusComponent - element representing the component the role is to be added to. - - - - - Id of the ComPlusApplicationRole element representing the - role that shall be granted access to the component. - - - - - - - - Represents an interface for a COM+ component. - - - - - - - - - - - Identifier for the element. - - - - - IID of the interface. - - - - - - - - - - - - - - Represents a role assignment to an interface. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusInterface - element, this attribute should be provided with the id of a ComPlusInterface - element representing the interface the role is to be added to. - - - - - Id of the ComPlusApplicationRole element representing the - role that shall be granted access to the interface. - - - - - - - - - Represents a method for an interface. - - - - - - - - - - Identifier for the element. - - - - - - - Dispatch id of the method. If this attribute is not set a - value must be provided for the Name attribute. - - - - - - - Name of the method. If this attribute is not set a value - must be provided for the Index attribute. - - - - - - - - - - - - - - - Represents a role assignment to a COM+ method. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusMethod element, - this attribute should be provided with the id of a ComPlusMethod element - representing the method the role is to be added to. - - - - - Id of the ComPlusApplicationRole element representing the - role that shall be granted access to the method. - - - - - - - - - - - - Defines an event subscription for a COM+ component. - - - - - - Identifier for the element. - - - - - If the element is not a child of a ComPlusComponent - element, this attribute should be provided with the id of a ComPlusComponent - element representing the component the subscription is to be created for. - - - - - Id of the subscription. If a value is not provided for - this attribute, an id will be generated during installation. - - - - - Name of the subscription. - - - - - CLSID of the event class for the subscription. If a value - for this attribute is not provided, a value for the PublisherID attribute - must be provided. - - - - - Publisher id for the subscription. If a value for this - attribute is not provided, a value for the EventCLSID attribute must be - provided. - - - - - - - - - - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF". - - - - - - - diff --git a/src/Votive2017/schemas/dependency4.xsd b/src/Votive2017/schemas/dependency4.xsd deleted file mode 100644 index 0c36cb8..0000000 --- a/src/Votive2017/schemas/dependency4.xsd +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Dependency Extension. - - - - - - Describes the information for this product or feature that serves as a dependency of other products or features. - - - - - - - - - - This element is required for any product, feature, or bundle that will use the Dependency feature to properly reference count - other products or features. It should be authored into a component that is always installed and removed with the - product or features that contain it. This guarantees that product dependencies are not removed before those products that - depend on them. - - - The @Key attribute should identify a version range for your product that you guarantee will be backward compatible. - This key is designed to persist throughout compatible upgrades so that dependent products do not have to be reinstalled - and will not prevent your product from being upgraded. If this attribute is not authored, the value is the ProductCode - and will not automatically support upgrades. - - - By default this uses the Product/@Id attribute value, which may be automatically generated. - - - How To: Author product dependencies - - - - - - - - - - - Dependency provider identity. If this attribute is not specified, an identifier will be generated automatically. - - - - - - - Optional unique registry key name that identifies a product version range on which other products can depend. - This attribute is required in package authoring, but optional for components. - - - - - - - The version of the package. For MSI packages, the ProductVersion will be used by default - and this attribute should not be specified. - - - - - - - Optional display name of the package. For MSI packages, the ProductName will be used by default. - - - - - - - - - Describes a dependency on a provider for the current component or package. - - - - - - - - - This element declares a dependency on any product that uses the Provides element. If that product is uninstalled - before a product that requires it, the uninstall will err or warn the user that other products are installed - which depend on that product. This behavior can be modified by changing the attribute values on the Requires element. - - - If you do not nest this element under a Provides element, you must specify the @Id attribute - so that it can be referenced by a RequiresRef element nested under a Provides element. - - - - How To: Author product dependencies - - - - - - - Dependency requirement identity. If this attribute is not specified, an identifier will be generated automatically. - If this element is not authored under a Provides element, this attribute is required. - - - - - - - The unique registry key name for the dependency provider to require during installation of this product. - - - - - - - The minimum version of the dependency provider required to be installed. The default is unbound. - - - - - - - The maximum version of the dependency provider required to be installed. The default is unbound. - - - - - - - Set to "yes" to make the range of dependency provider versions required include the value specified in Minimum. - - - - - - - Set to "yes" to make the range of dependency provider versions required include the value specified in Maximum. - - - - - - - - - References existing authoring for a dependency on a provider for the current component or package. - - - - - This element references a dependency on any product that uses the Provides element. If that product is uninstalled - before a product that requires it, the uninstall will err or warn the user that other products are installed - which depend on that product. This behavior can be modified by changing the attribute values on the Requires element. - - - - How To: Author product dependencies - - - - - - - The identifier of the Requires element to reference. - - - - - - - - - Optional attribute to explicitly author the provider key for the entire bundle. - - - - - - This provider key is designed to persist throughout compatible upgrades so that dependent bundles do not have to be reinstalled - and will not prevent your product from being upgraded. If this attribute is not authored, the value is the - automatically-generated bundle ID and will not automatically support upgrades. - - - Only a single provider key is supported for bundles. To author that your bundle provides additional features via - packages, author different provider keys for your packages. - - - - - - - - - - Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. - This can also be a preprocessor, binder, or WiX variable. - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - diff --git a/src/Votive2017/schemas/difxapp4.xsd b/src/Votive2017/schemas/difxapp4.xsd deleted file mode 100644 index e665d03..0000000 --- a/src/Votive2017/schemas/difxapp4.xsd +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Driver Install Frameworks for Applications Extension. - - - - - - - - - - - - Installs a driver. To use this element, you need to reference the WixDifxAppExtension extension and add the - .wixlib appropriate for the target platform (difxapp_x86.wixlib or difxapp_x64.wixlib) - to your project. - - - - - - - Specifies that the DIFxApp CustomActions should add an entry in the Add/Remove Programs Control - Panel applet. The default is 'yes'. - - - - - - - If set to "yes", configures DIFxApp to delete binary files that were copied to the system from the driver - store when a driver package was installed. If this attribute is set to "no" or not present, DIFxApp does not - remove these files from a system. Note that configuring DIFxApp to delete these files is controlled by the - Flags entry value of the component that represents the driver package in the MsiDriverPackages custom table. - Setting DeleteFiles to "yes" sets the corresponding bit in the Flags entry value. Setting DeleteFiles to "no" - clears the corresponding bit in the Flags entry value. If this attribute is not present, DIFxApp uses a - default value of "no". - - - - - - - Specifies that the DIFxApp CustomActions should force the installation of a new Plug and Play driver - on a device, even if the currently installed driver on the device is a better match than the new driver. - Specifying 'no' is an excellent way to ensure the DIFxApp CustomActions recognize the Component contains - a driver for installation. The default is null which means the Component does not install a driver via - DIFxApp CustomActions. See http://www.microsoft.com/whdc/driver/install/difxtools.mspx - for more information. - - - - - - - If set to "yes", configures DIFxApp to install unsigned driver packages and driver packages with missing - files. For more information, see "Installing Unsigned Driver Packages in Legacy Mode" earlier in this paper. - If this attribute is set to "no" or not present, DIFxApp will install only signed driver packages. Note - that configuring DIFxApp to install unsigned drivers is controlled by the Flags entry value of the component - that represents the driver package in the MsiDriverPackages custom table. Setting Legacy to "yes" sets - the corresponding bit in the Flags entry value. Setting Legacy to "no" clears the bit in the Flags - entry value that configures DIFxApp to install unsigned driver packages. If this attribute is not present, - DIFxApp uses a default value of "no". - - - - - - - Specifies that the DIFxApp CustomActions should prompt the user to connect the Plug and Play - device if it is not connected. The default is 'yes'. - - - - - - - Specifies an optional installation sequence number. DIFxApp CustomActions install the driver packages in - an installation package in the order of increasing sequence numbers. The same sequence number can be used - for more than one driver; however, the order in which packages with the same sequence number are actually - installed cannot be determined. - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/src/Votive2017/schemas/firewall4.xsd b/src/Votive2017/schemas/firewall4.xsd deleted file mode 100644 index d64aafe..0000000 --- a/src/Votive2017/schemas/firewall4.xsd +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Firewall Extension. - - - - - - - - - Registers an exception for a program or a specific port and protocol in the Windows Firewall - on Windows XP SP2, Windows Server 2003 SP1, and later. For more information about the Windows - Firewall, see - About Windows Firewall API. - - - - - - - - - - - - Explicitly-listed remote addresses that this exception allows through the - firewall. - - - - - - - - - Unique ID of this firewall exception. - - - - - - - - Name of this firewall exception, visible to the user in the firewall - control panel. - - - - - - - - The scope of this firewall exception, which indicates whether incoming - connections can come from any computer including those on the Internet - or only those on the local network subnet. To more precisely specify - allowed remote address, specify a custom scope using RemoteAddress - child elements. - - - - - - - - - - - - - - Port to allow through the firewall for this exception. - - If you use Port and also File or Program in the same - FirewallException element, the exception will fail to install on - Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to - ignore the resulting failure, but the exception will not be added. - - - - - - - - IP protocol used for this firewall exception. If Port is defined, - "tcp" is assumed if the protocol is not specified. - - If you use Protocol and also File or Program in the same - FirewallException element, the exception will fail to install on - Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to - ignore the resulting failure, but the exception will not be added. - - - - - - - - - - - - - - Identifier of a file to be granted access to all incoming ports and - protocols. If you use File, you cannot also use Program. - - If you use File and also Port or Protocol in the same - FirewallException element, the exception will fail to install on - Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to - ignore the resulting failure, but the exception will not be added. - - - - - - - - Path to a target program to be granted access to all incoming ports and - protocols. Note that this is a formatted field, so you can use [#fileId] - syntax to refer to a file being installed. If you use Program, you cannot - also use File. - - If you use Program and also Port or Protocol in the same - FirewallException element, the exception will fail to install on - Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to - ignore the resulting failure, but the exception will not be added. - - - - - - - - If "yes," failures to register this firewall exception will be silently - ignored. If "no" (the default), failures will cause rollback. - - - - - - - - Profile type for this firewall exception. Default is "all". - - - - - - - - - - - - - - - Description for this firewall rule displayed in Windows Firewall manager in - Windows Vista and later. - - - - - - - - - - A remote address to which the port or program can listen. Address formats vary - based on the version of Windows and Windows Firewall the program is being installed - on. For Windows XP SP2 and Windows Server 2003 SP1, see - - RemoteAddresses Property. - For Windows Vista and Windows Server 2008, see - - RemoteAddresses Property. - - - - - - - - A remote address. - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/src/Votive2017/schemas/gaming4.xsd b/src/Votive2017/schemas/gaming4.xsd deleted file mode 100644 index d04936f..0000000 --- a/src/Votive2017/schemas/gaming4.xsd +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Gaming Extension. - - - - - - - - - Registers this extension for the - rich saved games - property handler on Windows Vista and later. - - - - - - - - - - - Registers a game in Game Explorer on Windows Vista and later. The executable must have an - embedded Game Definition File. For more information about Game Explorer and GDFs, see - The Windows Vista Game Explorer. - This registration is accomplished via custom action. - - On Windows XP, this element instead records the same information in the registry so that - later upgrades to Windows Vista register the game in Game Explorer. - - - - - - - - - Each game can support multiple play and support tasks that are shown in the Game Explorer context menu. PlayTask and SupportTask are not needed when using when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. At least one play task should be created using either PlayTask or the ExtendedProperties\GameTasks\Play in the GDF. - - - - - - - - The game's instance ID. - - - - - Identifier of the file that contains the game's GDF resource, if it doesn't exist in the parent file. - - - - - Identifier of the file that is the game's executable, if it isn't the parent file. - - - - - - - - - Creates a shortcut to the parent File and registers it as a "play task" in Game Explorer. For more information, see - - Game Explorer Tasks - . PlayTask should not be used when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. - - - - - - User-visible task name Game Explorer shows on its context menu. Note that the first task is named "Play" regardless of the name you provide. - - - - - Command-line arguments to be passed to the game executable for this task. - - - - - - - - - Creates an Internet shortcut and registers it as a "support task" in Game Explorer. For more information, see - - Game Explorer Tasks - . SupportTask should not be used when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. - - - - - - User-visible task name Game Explorer shows on its context menu. Note that the first task is named "Play" regardless of the name you provide. - - - - - URI for this task. - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples. - - - - - - diff --git a/src/Votive2017/schemas/http4.xsd b/src/Votive2017/schemas/http4.xsd deleted file mode 100644 index b96a6de..0000000 --- a/src/Votive2017/schemas/http4.xsd +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - The source code schema for the Windows Installer XML Toolset Http Extension. - - - - - - - - - Makes a reservation record for the HTTP Server API configuration store on Windows XP SP2, - Windows Server 2003, and later. For more information about the HTTP Server API, see - - HTTP Server API - . - - - - - - - - - - - - The access control entries for the access control list. - - - - - - - - - Specifies the behavior when trying to install a URL reservation and it already exists. - - - - - - - - Replaces the existing URL reservation (the default). - - - - - - - Keeps the existing URL reservation. - - - - - - - The installation fails. - - - - - - - - - - - Unique ID of this URL reservation. - If this attribute is not specified, an identifier will be generated automatically. - - - - - - - - Security descriptor to apply to the URL reservation. - Can't be specified when using children UrlAce elements. - - - - - - - - The UrlPrefix - string that defines the portion of the URL namespace to which this reservation pertains. - - - - - - - - - - The security principal and which rights to assign to them for the URL reservation. - - - - - - - Unique ID of this URL ACE. - If this attribute is not specified, an identifier will be generated automatically. - - - - - - - - The security principal for this ACE. When the UrlReservation is under a ServiceInstall element, this defaults to - "NT SERVICE\ServiceInstallName". This may be either a SID or an account name in a format that - LookupAccountName - supports. When using a SID, an asterisk must be prepended. For example, "*S-1-5-18". - - - - - - - - Rights for this ACE. Default is "all". - - - - - - - - - - - - - diff --git a/src/Votive2017/schemas/iis4.xsd b/src/Votive2017/schemas/iis4.xsd deleted file mode 100644 index 1c4bdaf..0000000 --- a/src/Votive2017/schemas/iis4.xsd +++ /dev/null @@ -1,1104 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Internet Information Services Extension. - - - - - - - - - - - - - - WebDirProperties used by one or more WebSites. Lists properties common to IIS web sites and vroots. Corresponding properties can be viewed through the IIS Manager snap-in. One property entry can be reused by multiple sites or vroots using the Id field as a reference, using WebVirtualDir.DirProperties, WebSite.DirProperties, or WebDir.DirProperties. - - - - - - - - - - - Sets the Enable Anonymous Access checkbox, which maps anonymous users to a Windows user account. When setting this to 'yes' you should also provide the user account using the AnonymousUser attribute, and determine what setting to use for the IIsControlledPassword attribute. Defaults to 'no.' - - - - - Reference to the Id attribute on the User element to be used as the anonymous user for the directory. See the User element for more information. - - - - - Sets whether IIS should control the password used for the Windows account specified in the AnonymousUser attribute. Defaults to 'no.' - - - - - Sets the Windows Authentication option, which enables integrated Windows authentication to be used on the site. Defaults to 'no.' - - - - - Sets the Digest Authentication option, which allows using digest authentication with domain user accounts. Defaults to 'no.' - - - - - Sets the Basic Authentication option, which allows clients to provide credentials in plaintext over the wire. Defaults to 'no.' - - - - - Sets the Passport Authentication option, which allows clients to provide credentials via a .Net Passport account. Defaults to 'no.' - - - - - Sets whether visits to this site should be logged. Defaults to 'no.' - - - - - Sets the Index Resource option, which specifies whether this web directory should be indexed. Defaults to 'no.' - - - - - The list of default documents to set for this web directory, in comma-delimited format. - - - - - Sets the option for whether to send detailed ASP errors back to the client on script error. Default is 'no.' - - - - - Value to set the HttpExpires attribute to for a Web Dir in the metabase. - - - - - Integer value specifying the cache control maximum age value. - - - - - Custom HTTP 1.1 cache control directives. - - - - - Specifies whether IIs will return custom errors for this directory. - - - - - A value of true indicates that file access requires SSL file permission processing, with or without a client certificate. This corresponds to AccessSSL flag for AccessSSLFlags IIS metabase property. - - - - - A value of true indicates that file access requires SSL file permission processing with a minimum key size of 128 bits, with or without a client certificate. This corresponds to AccessSSL128 flag for AccessSSLFlags IIS metabase property. - - - - - This corresponds to AccessSSLMapCert flag for AccessSSLFlags IIS metabase property. - - - - - This corresponds to AccessSSLNegotiateCert flag for AccessSSLFlags IIS metabase property. - - - - - This corresponds to AccessSSLRequireCert flag for AccessSSLFlags IIS metabase property. - - - - - Comma delimited list, in order of precedence, of Windows authentication providers that IIS will attempt to use: NTLM, Kerberos, Negotiate, and others. - - - - - - - - Custom Web Errors used by WebSites and Virtual Directories. - - - You can only use error code and sub code combinations which are supported by IIS. Attempting to set a custom error for - an error code and sub code combination that is not supported by IIS (in the default list of error codes) will result in - an installation failure. - - - - - - - HTTP 1.1 error code. - - - - - Error sub code. Set to 0 to get the wild card "*". - - - - - File to be sent to the client for this error code and sub code. This can be formatted. For example: [#FileId]. - - - - - URL to be sent to the client for this error code and sub code. This can be formatted. - - - - - - - - Custom HTTP Header definition for IIS resources such as WebSite and WebVirtualDir. - - - - - Primary key for custom HTTP Header entry. This will default to the Name attribute. - - - - - Name of the custom HTTP Header. - - - - - Value for the custom HTTP Header. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see Formatted for details. - - - - - - - - MimeMap definition for IIS resources. - - - - - Id for the MimeMap. - - - - - Mime-type covered by the MimeMap. - - - - - Extension covered by the MimeMap. Must begin with a dot. - - - - - - - - - - - IIs Filter for a Component - - - - - The unique Id for the web filter. - - - - - The name of the filter to be used in IIS. - - - - - - The path of the filter executable file. - This should usually be a value like '[!FileId]', where 'FileId' is the file identifier - of the filter executable file. - - - - - - - Specifies the parent website for this filter (if there is one). - If this is a global filter, then this attribute should not be specified. - - - - - - Description of the filter. - - - - - Sets the MD_FILTER_FLAGS metabase key for the filter. This must be an integer. See MSDN 'FilterFlags' documentation for more details. - - - - - - The legal values are "first", "last", or a number. - If a number is specified, it must be greater than 0. - - - - - - - - - Extension for WebApplication - - - - - usually a Property that resolves to short file name path - - - - - Extension being registered. Do not prefix with a '.' (e.g. you should use "html", not ".html"). To register for all extensions, use Extension="*". To register a wildcard application map (which handles all requests, even those for directories or files with no extension) omit the Extension attribute completely. - - - - - - - - - - - - - - - - - - - - IIS6 Application Pool - - - - - - - - Id of the AppPool. - - - - - Name of the AppPool to be shown in IIs. - - - - - User account to run the AppPool as. To use this, you must set the Identity attribute to 'other'. - - - - - How often, in minutes, you want the AppPool to be recycled. - - - - - How often, in requests, you want the AppPool to be recycled. - - - - - Specifies the amount of virtual memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this attribute is 4,294,967 KB. - - - - - Specifies the amount of private memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this attribute is 4,294,967 KB. - - - - - Shutdown worker process after being idle for (time in minutes). - - - - - Limit the kernel request queue (number of requests). - - - - - Maximum CPU usage (percent). - - - - - Refresh CPU usage numbers (in minutes). - - - - - Action taken when CPU exceeds maximum CPU use (as defined with MaxCpuUsage and RefreshCpu). - - - - - - - - - - - Maximum number of worker processes. - - - - - Identity you want the AppPool to run under (applicationPoolIdentity is only available on IIS7). Use the 'other' value in conjunction with the User attribute to specify non-standard user. - - - - - - - - - - - - - - - Specifies the request-processing mode that is used to process requests for managed content. Only available on IIS7, ignored on IIS6. - See http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults for valid values. - This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - Specifies the .NET Framework version to be used by the application pool. Only available on IIS7, ignored on IIS6. - See http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults for valid values. - This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - - - IIS6 Application Pool Recycle Times on 24 hour clock. - - - - - - - - - - - - - - - - Used to install and uninstall certificates. - - - - - - - - - - - Unique identifier for this certificate in the installation package. - - - - - - - Name of the certificate that will be installed or uninstalled in the specified store. - This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - - - - Contains the certificates of certificate authorities that the user trusts to issue certificates to others. Certificates in these stores are normally supplied with the operating system or by the user's network administrator. - - - - - - - Use the "personal" value instead. - - - - - - - Contains personal certificates. These certificates will usually have an associated private key. This store is often - referred to as the "MY" certificate store. - - - - - - - - Contains the certificates of certificate authorities that the user trusts to issue certificates to others. Certificates in these stores are normally supplied with the operating system or by the user's network administrator. Certificates in this store are typically self-signed. - - - - - - - Contains the certificates of those that the user normally sends enveloped messages to or receives signed messages from. - See MSDN documentation for more information. - - - - - - - Contains the certificates of those directly trusted people and resources. - See MSDN documentation for more information. - - - - - - - Contains the certificates of those publishers who are trusted. - See MSDN documentation for more information. - - - - - - - - - - - - - - - - - - - This attribute controls whether the CertificatePath attribute is a path to a certificate file (Request='no') or the - certificate authority to request the certificate from (Request='yes'). - - - - - - - Reference to a Binary element that will store the certificate as a stream inside the package. This attribute cannot be specified with - the CertificatePath attribute. - - - - - - - - - - If the Request attribute is "no" then this attribute is the path to the certificate file outside of the package. - If the Request attribute is "yes" then this atribute is the certificate authority to request the certificate from. - This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - If the Binary stream or path to the file outside of the package is a password protected PFX file, the password for that - PFX must be specified here. This attribute may be set via a formatted Property (e.g. [MyProperty]). - - - - - - - - - - Associates a certificate with the parent WebSite. The Certificate element should be - in the same Component as the parent WebSite. - - - - - - - - - - The identifier of the referenced Certificate. - - - - - - - - - - - - Here is an explanation of the acceptable values for each property and their meaning: - - - For the Ids IIs5IsolationMode and LogInUTF8, no value should be specified since - the presence of this property indicates that the setting should be set. - - - For the MaxGlobalBandwidth Id, the value should be specified in kilobytes. The - value should be a base 10 number. - - - ETagChangeNumber sets the machine-specific portion of ETag as a number. This value, - when synchronized across servers in a web farm, allows the web farm to return an - identical ETag for a given resource regardless of the server that handled the - request. The value should be a base 10 number. - - - - - IIS Properties - - - - - - - - - - - - - - - - The value to be used for the WebProperty specified in the Id attribute. See - the remarks section for information on acceptable values for each Id. - - - - - - - - - - - - - - Defines properties for a web application. These properties can be used for more than one application defined in a web site or vroot, by defining this element in a common location and referring to it by setting the WebApplication attribute of the WebSite and WebVirtualDir elements. - - - - - - - - - Sets the name of this application. - - - - - - Sets the application isolation level for this application for pre-IIS 6 applications. - - - - - - - - Means the application executes within the IIS process. - - - - - - - Executes pooled in a separate process. - - - - - - - Means execution alone in a separate process. - - - - - - - - - Sets the Enable Session State option. When enabled, you can set the session timeout using the SessionTimeout attribute. - - - - - Sets the timeout value for sessions in minutes. - - - - - Sets the option that enables response buffering in the application, which allows ASP script to set response headers anywhere in the script. - - - - - Sets the parent paths option, which allows a client to use relative paths to reach parent directories from this application. - - - - - Sets the default script language for the site. - - - - - - - - - - - Sets the timeout value in seconds for executing ASP scripts. - - - - - Enable ASP server-side script debugging. - - - - - Enable ASP client-side script debugging. - - - - - References the Id attribute of a WebAppPool element to use as the application pool for this application in IIS 6 applications. - - - - - - - - WebAddress for WebSite - - - - - - - The IP address to locate an existing WebSite or create a new WebSite. When the WebAddress is part of a WebSite element - used to locate an existing web site the following rules are used: - - When this attribute is not specified only the "All Unassigned" IP address will be located. - When this attribute is explicitly specified only the specified IP address will be located. - When this attribute has the value "*" then any IP address including the "All Unassigned" IP address will be located - - When the WebAddress is part of a WebSite element used to create a new web site the following rules are used: - - When this attribute is not specified or the value is "*" the "All Unassigned" IP address will be used. - When this attribute is explicitly specified the IP address will use that value. - - The IP attribute can contain a formatted string that is processed at install time to insert the values of properties using - [PropertyName] syntax. - - - - - - - - Determines if this address represents a secure binding. The default is 'no'. - - - - - - - - - - - Defines an IIS virtual directory. When this element is a child of WebSite element, the virtual directory is defined within that web site. Otherwise this virtual directory must reference a WebSite element via the WebSite attribute - - - - - - - - - - - - - - References the Id attribute for a WebSite in which this virtual directory belongs. Required when this element is not a child of WebSite element. - - - - - Sets the application name, which is the URL relative path used to access this virtual directory - - - - - References the Id attribute for a Directory element that points to the content for this virtual directory. - - - - - - References the Id attribute for a WebDirProperties element that specifies the security and access properties for this virtual directory. - This attribute may not be specified if a WebDirProperties element is directly nested in this element. - - - - - - References the Id attribute for a WebApplication element that specifies web application settings for this virtual directory. If a WebApplication child is not specified, the virtual directory does not host web applications. - - - - - - - - - - - Defines a subdirectory within an IIS web site. When this element is a child of WebSite, the web directory is defined within that web site. Otherwise the web directory must reference a WebSite element via the WebSite attribute. - - - - - - - - - - References the Id attribute for a WebSite element in which this directory belongs. Required when this element is not a child of a WebSite element. - - - - - Specifies the name of this web directory. - - - - - - References the Id attribute for a WebDirProperties element that specifies the security and access properties for this web directory. - This attribute may not be specified if a WebDirProperties element is directly nested in this element. - - - - - - - - - - - - - - - - Nesting WebSite under a Component element will result in a WebSite being installed to the machine as the package is installed. - - Nesting WebSite under Product, Fragment, or Module - results in a web site "locator" record being created in - the IIsWebSite table. This means that the web site - itself is neither installed nor uninstalled by the MSI - package. It does make the database available for referencing - from a WebApplication, WebVirtualDir or WebDir record. This allows an MSI to install - WebApplications, WebVirtualDirs or WebDirs to already existing web sites on the machine. - The install will fail if the web site does not exist in these cases. - - - - - IIs Web Site - - - - - - - - - - - - - - - - - - Identifier for the WebSite. Used within the MSI package only. - - - - - Specifies whether to automatically start the web site. - - - - - Specifies whether to configure the web site if it already exists. Note: This will not affect uninstall behavior. If the web site exists on uninstall, it will be removed. - - - - - Sets the timeout value for connections in seconds. - - - - - This is the name of the web site that will show up in the IIS management console. - - - - - Root directory of the web site. Resolved to a directory in the Directory table at install time by the server custom actions. - - - - - - References the Id attribute for a WebDirProperties element that specifies the security and access properties for this website root directory. - This attribute may not be specified if a WebDirProperties element is directly nested in this element. - - - - - - Sequence that the web site is to be created in. - - - - - - Optional attribute to directly specify the site id of the WebSite. Use this to ensure all web - sites in a web garden get the same site id. If a number is provided, the site id must be unique - on all target machines. If "*" is used, the Description attribute will be hashed to create a unique - value for the site id. This value must be a positive number or a "*" or a formatted value that resolves - to "-1" (for the same behavior as "*") or a positive number or blank. If this attribute is absent then - the web site will be located using the WebAddress element associated with the web site. - - - - - - Specifies whether to start the web site on install. - - - - - Reference to a WebApplication that is to be installed as part of this web site. - - - - - Reference to WebLog definition. - - - - - - - - - - - - - WebLog definition. - - - - - Identifier for the WebLog. - - - - - - - - - Microsoft IIS Log File Format - - - - - - - NCSA Common Log File Format - - - - - - - Disables logging. - - - - - - - ODBC Logging - - - - - - - W3C Extended Log File Format - - - - - - - - - - - - - - - The WebServiceExtension property is used by the Web server to determine whether a Web service extension is permitted to run. - - - - - - Usually a Property that resolves to short file name path - - - - - Description of the extension. - - - - - String used to identify groups of extensions. - - - - - Indicates if the extension is allowed or denied. - - - - - Indicates if the UI is allowed to delete the extension from the list of not. Default: Not deletable. - - - - - - - - Values of this type are any integers between 0 and 100, inclusive. - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - - Values of this type will either be "default", "yes", or "no". - - - - - - - - - diff --git a/src/Votive2017/schemas/lux4.xsd b/src/Votive2017/schemas/lux4.xsd deleted file mode 100644 index efd4caa..0000000 --- a/src/Votive2017/schemas/lux4.xsd +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Lux Extension. - - - - - - - - - Test mutations let you author unit tests with different expected results. The mutation - id is passed as the value of the WIXLUX_RUNNING_MUTATION property. Your custom action, - typically in an '#ifdef DEBUG' block, can retrieve the WIXLUX_RUNNING_MUTATION property - and hard-code different behavior based on the mutation. To author test mutations, use - the Mutation element with UnitTest elements as children. - - - - - - - - - - Child UnitTest elements are validated when the parent mutation is being executed. - - - - - - - - - Value of the WIXLUX_RUNNING_MUTATION property set by the mutation. - - - - - - - - - - Describes a unit test to be executed against a particular custom action, resulting in a - particular property value. Single-value properties, multi-value properties, and - name/value-pair properties can all be tested declaratively. - - - - - - - - - - - Child UnitTest elements are used to test multi-value properties. Note that Property - and ValueDelimiter or NameValueDelimiter must be specified in the parent element. - - - - - - - - - - - Identifier of the unit test. If you omit this attribute, a stable identifier is generated for you. - - - - - - - - Identifier of the custom action to be tested. - - - - - - - - Name of the property set by the custom action. - - - - - - - - The operator to apply to the property and value. Default is "equal." - - - - - - - - (Default) Compares Property to Value and succeeds if they are equal. - - - - - - - Compares Property to Value and succeeds if they are NOT equal. - - - - - - - Compares Property to Value and succeeds if they are equal (ignoring case). - - - - - - - Compares Property to Value and succeeds if they are NOT equal (ignoring case). - - - - - - - - - - - The value to compare to the property. - - - - - - - - One character that is used to separate values in a multi-value property. - - - - - - - - One character that is used to separate values in a name/value-pair multi-value property. - - - - - - - - A formatted string that evaluates to either an integer index into a multi-value property or a string name of a name/value-pair multi-value property. - - - - - - - - - - Conditions for a unit test. - - - - - - - - - - - - - An expression that must evaluate to true to succeed. Cannot be specified if Property is specified. - - - - - - - - - - - - - Identifies a unit test to be linked into a project. - - - - - - - - - - - Identifier of the unit test to be included. - - - - - - - diff --git a/src/Votive2017/schemas/msmq4.xsd b/src/Votive2017/schemas/msmq4.xsd deleted file mode 100644 index 2634833..0000000 --- a/src/Votive2017/schemas/msmq4.xsd +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset MSMQ Extension. - - - - - - - - - - - - - - - - - - - - - - - Default: No. - - - - - - Default: No. - - - - - - - - - - - - - - - - - - - Default: No. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - diff --git a/src/Votive2017/schemas/netfx4.xsd b/src/Votive2017/schemas/netfx4.xsd deleted file mode 100644 index 6ef4e9b..0000000 --- a/src/Votive2017/schemas/netfx4.xsd +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset .NET Framework Extension. - - - - - - - Improves the performance of managed applications by creating native images. - Requires the .NET Framework 2.0 or newer to be installed on the target machine since - it runs NGen. - - - - - - Native images are files containing compiled processor-specific machine code, which - are installed into the native image cache on the local computer. The runtime - can use native images from the cache instead using the just-in-time (JIT) - compiler to compile the original assembly. - - - The native image custom actions are configured to ignore failures so that failing - to generate or remove a native image will not cause setup to fail and roll back. - - - Note for patches: if you built your target, or baseline, MSI with - previous versions 3.0 or 3.5 of this extension and want to upgrade to formattable - values for @AssemblyApplication or @AppBaseDirectory you must also include a - BinaryRef to "NetFxCA" to pull in necessary changes. If you do use formattable - values and do not include the binary changes ngen.exe will not optimize your - native images for the specified application. - - - This should be a rare occurrence, however. Because you cannot remove components - in a patch - and pyro does validate you do not - it is not practical to switch - from using identifiers to formattable values in a patch. One practical possibility - is if you wanted to use a different application to optimize your native images - and that application is not already installed with the MSI to be updated. - - - - - - - - - The identifier for this NativeImage. - - - - - - - - The directory to use for locating dependent assemblies. - For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC), - this attribute should be set to the directory of the application which loads this - assembly. For EXE assemblies, this attribute does not need to be set because NGen - will use the directory of the assembly file by default. - - - The value can be in the form of a directory identifier, or a formatted string - that resolves to either a directory identifier or a full path to a directory. - - - - - - - - - The application which will load this assembly. - For DLL assemblies which are loaded via reflection, this attribute should - be set to indicate the application which will load this assembly. - The configuration of the application (usually specified via an exe.config file) will be used - to determine how to resolve dependencies for this assembly. - - - The value can be in the form of a file identifier, or a formatted string - that resolves to either a file identifier or a full path to a file. - - - When a shared component is loaded at run time, using the Load method, the - application's configuration file determines the dependencies that are loaded - for the shared component — for example, the version of a dependency that is loaded. - This attribute gives guidance on which dependencies would be loaded at run time in order - to figure out which dependency assemblies will also need to have native images generated - (assuming the Dependency attribute is not set to "no"). - - - This attribute cannot be set if the AssemblyApplication attribute is set on the parent - File element (please note that these attributes both refer to the same application - assembly but do very different things: specifiying File/@AssemblyApplication will force - an assembly to install to a private location next to the indicated application, whereas - this AssemblyApplication attribute will be used to help resolve dependent assemblies - while generating native images for this assembly). - - - - - - - - Set to "yes" to generate native images that can be used under a debugger. - The default value is "no". - - - - - - - Set to "no" to generate the minimum number of native images. - The default value is "yes". - - - - - - - Sets the platform(s) for which native images will be generated. - - - - - - - - Attempt to generate native images only for the 32-bit version of the .NET Framework - on the target machine. If the 32-bit version of the .NET Framework 2.0 or newer is not - present on the target machine, native image custom actions will not be scheduled. - This is the default value. - - - - - - - Attempt to generate native images only for the 64-bit version of the .NET Framework - on the target machine. If a 64-bit version of the .NET Framework 2.0 or newer is not - present on the target machine, native image custom actions will not be scheduled. - - - - - - - Attempt to generate native images for the 32-bit and 64-bit versions of the .NET Framework - on the target machine. If a version of the .NET Framework 2.0 or newer is not present on the - target machine for a processor architecture, native image custom actions will not be - scheduled for that processor architecture. - - - - - - - - - - Sets the priority of generating the native images for this assembly. - - - - - - - - This is the highest priority, it means that image generation occurs syncronously - during the setup process. This option will slow down setup performance. - - - - - - - This will queue image generation to the NGen service to occur immediately. - This option will slow down setup performance. - - - - - - - This will queue image generation to the NGen service to occur after all priority 1 - assemblies have completed. - This option will slow down setup performance. - - - - - - - This is the lowest priority, it will queue image generation to occur when the - machine is idle. - This option should not slow down setup performance. - This is the default value. - - - - - - - - - - Set to "yes" to generate native images that can be used under a profiler. - The default value is "no". - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - diff --git a/src/Votive2017/schemas/ps4.xsd b/src/Votive2017/schemas/ps4.xsd deleted file mode 100644 index 0c4c2be..0000000 --- a/src/Votive2017/schemas/ps4.xsd +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset PowerShell Extension. - - - - - - - Identifies the parent File as a formats XML file for the referenced PowerShell snap-in. - - - - - A formats XML file that defines output formats for objects on the pipeline. - - - - - - - - Reference to the formats File ID. This is required when nested under the SnapIn element. - - - - - - - Reference to the PowerShell snap-in ID for which this formats file is associated. This is required when nested under the File element. - - - - - - - - - Identifies the parent File as a types XML file for the referenced PowerShell snap-in. - - - - - A types XML file used by the extensible type system. - - - - - - - - Reference to the types File ID. This is required when nested under the SnapIn element. - - - - - - - Reference to the PowerShell snap-in ID for which this types file is associated. This is required when nested under the File element. - - - - - - - - - Identifies the parent File as a PowerShell snap-in to be registered on the system. - - - - - PowerShell snap-ins - allow developers to extend the functionality of of the PowerShell engine. - Add this element to identify the parent File as a PowerShell snap-in that will - get registered on the system. - - - - - - - - - - - - The identifier for this PowerShell snap-in. - - - - - - - The fully-qualified name of the assembly. - - - - - - - - - - The full type name of a class that is used to register a list of cmdlets and providers. - - - - - - - A brief description of the snap-in. - - - - - - - An embedded resource that contains a brief description of the snap-in. - This resource must be embedded in the current snap-in assembly. - - - - - - - The required version of PowerShell that must be installed and is associated with the - snap-in registration. The default value is "1.0". - - - - - - - The name of the snap-in vendor. - - - - - - - An embedded resource that contains the name of the snap-in vendor. - This resource must be embedded in the current snap-in assembly. - - - - - - - The version of the snapin. If not specified, this is taken from the assembly name. - - - - - - - - - - Values should be in the format ResourceName,StringName, where ResourceName - is the name of the embedded resource in your assembly sans the ".resources" extension, and StringName - is the name of the string resource in the embedded resource. - - - Example: UtilityMshSnapInResources,Description - - - - - - - - - Values of this type will look like: "x", "x.x", "x.x.x", or "x.x.x.x" where x is an integer from 0 to 65534. - - - - - - - diff --git a/src/Votive2017/schemas/sql4.xsd b/src/Votive2017/schemas/sql4.xsd deleted file mode 100644 index 161607c..0000000 --- a/src/Votive2017/schemas/sql4.xsd +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset SQL Server Extension. - - - - - - - - - - - - - - - Nesting SqlDatabase under a Component element will result in a SqlDatabase being installed to the machine as the package is installed. - - Nesting SqlDatabase under Product, Fragment, or Module - results in a database "locator" record being created in - the SqlDatabase table. This means that the database - itself is neither installed nor uninstalled by the MSI - package. It does make the database available for referencing - from a SqlString or SqlScript record. This allows MSI to install - SqlScripts or SqlStrings to already existing databases on the machine. - The install will fail if the database does not exist in these cases. - - - The User attribute references credentials specified in a User element. - If a user is not specified then Windows Authentication will be used by default - using the credentials of the user performing the install to execute sql - strings, etc. - - - - - - SQL Database - - - - - - - - - - - - - - - - - - - The name of the database. The value can be a literal value or derived from a - Property element using the Formatted - syntax. - - - - - - - - - - - Specifies whether to create the database when the associated component is reinstalled. Setting CreateOnInstall to yes does not imply CreateOnReinstall is set to yes. CreateOnReinstall must be set in addition to CreateOnInstall for it to be created during both install and reinstall. - - - - - - - - - - - Specifies whether to drop the database when the associated component is reinstalled. Setting DropOnInstall to yes does not imply DropOnReinstall is set to yes. DropOnReinstall must be set in addition to DropOnInstall for it to be dropped during both install and reinstall. - - - - - - - - - - - - - - - File specification for a Sql database. - - - - - ID of the file specification. - - - - - Specifies the logical name for the database file. - - - - - Specifies the operating-system file name for the database file. - - - - - - Specifies the size of the database file. The GB, MB and KB suffixes can be used to specify gigabytes, - megabytes or kilobytes. The default is megabytes if no suffix is specified. When a Size is not - supplied for a database file, SQL Server uses the size of the primary file in the model database. - - - - - - - Specifies the maximum size to which the database file can grow. The GB, MB and KB suffixes can be used to - to specify gigabytes, megabytes or kilobytes. The default is megabytes if no suffix is specified. If - MaxSize is not specified, the file will grow until the disk is full. - - - - - - - Specifies the growth increment of the database file. The GB, MB and KB and % suffixes can be used to - specify gigabytes, megabytes, kilobytes or a percentage of the current file size to grow. The default is - megabytes if no suffix is specified. The default value is 10% if GrowthSize is not specified, and the - minimum value is 64 KB. The GrowthSize setting for a file cannot exceed the MaxSize setting. - - - - - - - - - File specification for a Sql database. - - - - - ID of the log file specification. - - - - - Specifies the logical name for the log file. - - - - - Specifies the operating-system file name for the log file. - - - - - - Specifies the size of the log file. The GB, MB and KB suffixes can be used to specify gigabytes, - megabytes or kilobytes. The default is megabytes if no suffix is specified. When a Size is not - supplied for a log file, SQL Server makes the file 1 MB. - - - - - - - Specifies the maximum size to which the log file can grow. The GB, MB and KB suffixes can be used to - to specify gigabytes, megabytes or kilobytes. The default is megabytes if no suffix is specified. If - MaxSize is not specified, the file will grow until the disk is full. - - - - - - - Specifies the growth increment of the log file. The GB, MB and KB and % suffixes can be used to - specify gigabytes, megabytes, kilobytes or a percentage of the current file size to grow. The default is - megabytes if no suffix is specified. The default value is 10% if GrowthSize is not specified, and the - minimum value is 64 KB. The GrowthSize setting for a file cannot exceed the MaxSize setting. - - - - - - - - - - - - SQL Script - - - - - - required when not child of SqlDatabase - - - - - - - Reference to Binary stream that contains the SQL script to execute. - - - - - Specifies to execute the script when the associated component is installed. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - Specifies whether to execute the script when the associated component is reinstalled. Setting ExecuteOnInstall to yes does not imply ExecuteOnReinstall is set to yes. ExecuteOnReinstall must be set in addition to ExecuteOnInstall for it to be executed during both install and reinstall. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - Specifies to execute the script when the associated component is uninstalled. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - Specifies whether to execute the script on rollback if an attempt is made to install the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Specifies whether to execute the script on rollback if an attempt is made to reinstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Specifies whether to execute the script on rollback if an attempt is made to uninstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Continue executing scripts even if this one fails. - - - - - Specifes the order to run the SQL Scripts. It is recommended that rollback scripts be scheduled before their complementary execution script. This order is also relative across the SqlString element. - - - - - - - - - - - SQL String - - - - - - - - - - - - - Specifies to execute the string when the associated component is installed. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - - Specifies whether to execute the string when the associated component is reinstalled. Setting ExecuteOnInstall to yes does not imply ExecuteOnReinstall is set to yes. ExecuteOnReinstall must be set in addition to ExecuteOnInstall for it to be executed during both install and reinstall. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - - Specifies to execute the string when the associated component is uninstalled. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. - - - - - Specifies whether to execute the string on rollback if an attempt is made to install the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Specifies whether to execute the string on rollback if an attempt is made to reinstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Specifies whether to execute the string on rollback if an attempt is made to uninstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. - - - - - Continue executing strings even if this one fails. - - - - - Specifes the order to run the SQL Strings. It is recommended that rollback strings be scheduled before their complementary execution string. This order is also relative across the SqlScript element. - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - diff --git a/src/Votive2017/schemas/tag4.xsd b/src/Votive2017/schemas/tag4.xsd deleted file mode 100644 index 6c69a07..0000000 --- a/src/Votive2017/schemas/tag4.xsd +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Software Id Tag Extension. - - - - - - - - - This extension implements the ISO/IEC 19770-2 specification. A SWID tag file - will be generated an inserted into the Product or Bundle. - - - - - - - - - - - Name to use in the filename for the software id tag. By default the filename - uses the Bundle/@Name or Product/@Name. If the bundle name or product name contains - invalid filename characters such as ":" or "?", use this attribute to provide - a valid filename. - - - - - - - The regid for the software id tag. A regid follows the format: "regid" + "." - + YYYY-MM + "." + reverse domain order. The YYYY-MM is the year and month the - domain was first owned. For example: "regid.1995-08.com.example". - - - - - - Optional attribute to explicitly set the Feature when defining the software id tag - in a Product. By default the software id tag will always be installed by a top-level hidden feature. - It is recommended to not set this attribute. - - - - - Indicates whether the software requires a license. The default is - "no". - - - - - - Defines the type of software tag being defined. One of the following values may be used: "group", - "application", "patch", or "component". The default is "application" when the Tag element is a child of - the Product element. The default is "group" or "application" when the Tag element is under a Bundle element - based on the contents of the bundle's chain. The Bundle/Tag@Type will be "application" unless there are one - or more packages that define a software Tag@Type of "application" or "group". - - - - - - - - - - Allows an ISO/IEC 19770-2 SWID tag file to be referenced in a Patch. - - - - - - - - - - The regid for the software id tag. A regid follows the format: "regid" + "." - + YYYY-MM + "." + reverse domain order. The YYYY-MM is the year and month the - domain was first owned. For example: "regid.1995-08.com.example". - - - - - - - - - Values of this type will be "application", "component", "feature", "group", or "patch". - - - - - - - Values of this type will be "application", "component", "feature", "group", or "patch". - - - - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - - A type that represents that 1 or more preprocessor variables (as they appear in sources on disk, before preprocessor has run). - - - - - - diff --git a/src/Votive2017/schemas/thmutil4.xsd b/src/Votive2017/schemas/thmutil4.xsd deleted file mode 100644 index ccf951c..0000000 --- a/src/Votive2017/schemas/thmutil4.xsd +++ /dev/null @@ -1,1188 +0,0 @@ - - - - - - - - Schema for describing Theme files processed by thmutil. - - - - - - - - - This is the top-level container element for every thmutil Theme file. - - - - - - - - - - - Relative path to an image file that can serve as a single source for images in the rest of the theme. - This image is referenced by controls using the SourceX and SourceY attributes. - Mutually exclusive with the ImageResource attribute. - - - - - - - Identifier that references an image resource in the module for the window. - Mutually exclusive with the ImageFile attribute. - - - - - - - - - Defines a font including the size and color. - - - - - - Name of the font face (required). - - - - Numeric identifier for the font. Due to limitations in thmutil the first Font must start with "0" and each subsequent Font must increment the Id by 1. Failure to ensure the Font identifiers follow this strict ordering will create unexpected behavior or crashes. - - - - - Font size. Use negative numbers to specify the font in pixels. - - - - - Font weight. - - - - - - A system color id or a hexadecimal value representing BGR foreground color of the font. - "ffffff" is white, "ff0000" is pure blue, "00ff00" is pure green, "0000ff" is pure red, and "000000" is black. - If this attribute is absent the foreground will be transparent. - Supported system color ids are: btnface, btntext, graytext, highlight, highlighttext, hotlight, window, and windowtext. - - - - - - - A system color id or a hexadecimal value representing BGR background color of the font. - "ffffff" is white, "ff0000" is pure blue, "00ff00" is pure green, "0000ff" is pure red, and "000000" is black. - If this attribute is absent the background will be transparent. - Supported system color ids are: btnface, btntext, graytext, highlight, highlighttext, hotlight, window, and windowtext. - - - - - - Specifies whether the font is underlined. - - - - - - - - - - List of images which can be shared between multiple controls. - - - - - - - - - Name of the ImageList, to be referenced by other controls. - - - - - - - - - Named set of controls that can be shown and hidden collectively. - - - - - - - Optional name for the page. - - - - - - - - - Defines the overall look of the main window. - - - - - - - - - - Specifies whether the ThmUtil default window proc should process WM_SIZE and WM_SIZING events. - - - - - - Caption for the window. - This is required if not using the StringId attribute. - - - - - - Numeric identifier to the Font element that serves as the default font for the window. - - - - - Height of the window. - - - - - - Hexadecimal window style. If this is not specified the default value is: WS_OVERLAPPED | WS_VISIBLE | WS_MINIMIZEBOX | WS_SYSMENU. - If SourceX and SourceY are specified, then WS_OVERLAPPED is replaced with WS_POPUP. - - - - - - Relative path to an icon file for the window. Mutually exclusive with IconResource and SourceX and SourceY attributes. - - - - - - Identifier that references an icon resource in the module for the icon for the window. - Mutually exclusive with IconFile and SourceX and SourceY attributes. - - - - - - Minimum height of the window. Only functions if AutoResize is enabled. - - - - - Minimum width of the window. Only functions if AutoResize is enabled. - - - - - X offset of the window background in the Theme/@ImageFile. Mutually exclusive with IconFile and IconResource. - - - - - Y offset of the window background in the Theme/@ImageFile. Mutually exclusive with IconFile and IconResource. - - - - - - Identifier that references a string resource in the module to define the window caption. - Mutually exclusive with the Caption attribute. - - - - - - Width of the window. - - - - - - - - Defines a control that rotates through a set of images on a specified interval. - - - - - - - - - - Specifies the time to wait before showing the next image, in milliseconds. - - - - - - Specifies whether the billboard should loop through the images infinitely. - - - - - - - - Defines a button. - - - - - Text to display in the button. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - If multiple Action elements are given, the conditions should be mutually exclusive (when multiple conditions are true, the behavior is undefined and could be changed at any time). - If none of the conditions of the Action elements are true, then it uses the Action element without the Condition attribute. - - - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. Only valid when using graphic buttons. - - - - - Numeric identifier to the Font element that serves as the font when the control is hovered over. Only valid when using graphic buttons. - - - - - - Relative path to an image file to define a graphic button. - The image must be 4x the height to represent the button in 4 states: unselected, hover, selected, focused. - Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - - - Identifier that references an image resource in the module to define a graphic button. - The image must be 4x the height to represent the button in 4 states: unselected, hover, selected, focused. - Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - Numeric identifier to the Font element that serves as the font when the control is selected. Only valid when using graphic buttons. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - - When the button is pressed, a directory browser dialog is shown. - - - - - - - The condition that determines if the parent control will execute this action. - - - - - - - The name of the variable to update when the user selects a directory from the dialog. - - - - - - - - - - When the button is pressed, the specified page is shown. - - - - - - - When set to 'yes', none of the variable changes made on the current page are saved. - - - - - - - The condition that determines if the parent control will execute this action. - - - - - - - The Name of the Page to show. - - - - - - - - - - When the button is pressed, the WM_CLOSE message is sent to the window. - - - - - - - The condition that determines if the parent control will execute this action. - - - - - - - - - Defines a checkbox. - - - - - Text to display beside the checkbox. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - Defines a combobox. - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - - - Defines a button. - - - - - Text to display in the button. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - If multiple Action elements are given, the conditions should be mutually exclusive (when multiple conditions are true, the behavior is undefined and could be changed at any time). - If none of the conditions of the Action elements are true, then it uses the Action element without the Condition attribute. - - - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. Only valid when using graphic buttons. - - - - - - Relative path to an icon file to define a command link glyph. - Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - - - Identifier that references an icon resource in the module to define a command link glyph. - Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - - Relative path to an image file to define a command link glyph. - Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - - - Identifier that references an image resource in the module to define a command link glyph. - Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - Defines an edit box. - - - - - - - Initial text for the control. - Mutually exclusive with the StringId attribute. - - - - - - Specifies whether the edit box should auto-complete with file system paths. - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the initial text for the control. - - - - - - - - - - - Defines a hyperlink. - - - - - Text to display as the link. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Numeric identifier to the Font element that serves as the unselected font. - - - - - Numeric identifier to the Font element that serves as the font when the control is hovered over. - - - - - Numeric identifier to the Font element that serves as the font when the control is selected. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - Defines a text block with support for HTML <a> tags. - - - - - Text to display as the link. - Use HTML <a href="URL"> to create a link. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - - - - Defines an image for an ImageList or Billboard. - - - - - Relative path to an image file. Mutually exclusive with ImageResource. - - - - - Identifier that references an image resource in the module. Mutually exclusive with ImageFile. - - - - - - - - Defines an image. - - - - - - Relative path to an image file. Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - Identifier that references an image resource in the module. Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - - - Defines a label. - - - - - Text for the label to display. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Specifies whether the text should be centered horizontally in the width of the control. Default is "no". - - - - - By default ampersands (&) in the text will underline the next character and treat it as an accelerator key. Set this attribute to "yes" to disable that behavior. Default is "no". - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the text for the label. - - - - - - - - - Defines a listview. - - - - - - - - - Numeric identifier to the Font element that serves as the default font for the ListView. - - - - - Hexadecimal extended window style. - - - - - - The name of the ImageList to assign to this listview with type LVSIL_NORMAL. - - - - - - - The name of the ImageList to assign to this listview with type LVSIL_SMALL. - - - - - - - The name of the ImageList to assign to this listview with type LVSIL_STATE. - - - - - - - The name of the ImageList to assign to this listview with type LVSIL_GROUPHEADER. - - - - - - - - - - Defines note text for a command link control based on an optional condition. - If multiple Note elements are given for one control, the conditions should be mutually exclusive (when multiple conditions are true, the behavior is undefined and may be changed at any time). - If none of the conditions of a control's Note elements are true, then it uses the text of the Note element without the Condition attribute. - - - - - - - - Note text for the parent command link control. - - - - - - The condition that determines when the parent control will use this note text. - - - - - - - - - - - Defines a collection of controls. - - - - - - - - - - Defines a progress bar. - - - - - - Relative path to an image file for the control. The image must be 4 pixels wide: left pixel is the left side of progress bar, left middle pixel is progress used, right middle pixel is progress unused, right pixel is right side of progress bar. Mutually exclusive with ImageResource and SourceX and SourceY attributes. - - - - - Identifier that references an image resource in the module for the control. The image must be 4 pixels wide: left pixel is the left side of progress bar, left middle pixel is progress used, right middle pixel is progress unused, right pixel is right side of progress bar. Mutually exclusive with ImageFile and SourceX and SourceY attributes. - - - - - - - - Defines an individual radio button within a set of radio buttons. - - - - - Text to display beside the radio button. - Mutually exclusive with the StringId attribute and child Text elements. - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - Identifier that references a string resource in the module to define the text for the control. - - - - - - Optional value used when setting the variable associated with the set of radio buttons. - - - - - - - - Defines a set of radio buttons. - - - - - - - - Optional variable name for the set of radio buttons. - - - - - - - - Defines a rich edit control. - - - - - Initial text for the control. - Mutually exclusive with the StringId attribute. - - - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - - Identifier that references a string resource in the module to define the initial text for the control. - - - - - - - - - Defines a straight line. - - - - - - - - - Defines an individual tab within a set of tabs. - - - - - - - Caption of the tab. - Mutually exclusive with the StringId attribute. - - - - - - Identifier that references a string resource in the module to define the caption of the tab. - - - - - - - - - - - Defines a set of tabs. - - - - - - - - - Numeric identifier to the Font element that serves as the font for the control. - - - - - - - - - Defines text for the parent control based on an optional condition. - If multiple Text elements are given for one control, the conditions should be mutually exclusive (when multiple conditions are true, the behavior is undefined and may be changed at any time). - If none of the conditions of a control's Text elements are true, then it uses the text of the Text element without the Condition attribute. - - - - - - - - Text for the parent control. - - - - - - The condition that determines when the parent control will use this text. - - - - - - - - - - - - Defines text for the parent control's tooltip. - - - - - - - - Text for the parent control's tooltip. - - - - - - - - - - Defines a treeview. - - - - - - Specifies whether the row always appears selected even when the treeview has lost focus. - - - - - Specifies whether drag and drop is enabled for the treeview. - - - - - Specifies whether an entire row is selected for the treeview. - - - - - Specifies whether the treeview will show buttons. - - - - - Specifies whether lines appear for all treeview items. - - - - - Specifies whether the root nodes have lines beside them. - - - - - - - - A column of a list. - - - - - - - Text for the column header. - Mutually exclusive with the StringId attribute. - - - - - Width of the column. - - - - - - Whether or not this column can grow to fill available width of the listview. - More than one column can be marked with yes - all expandable columns will share available extra space. - This is especially useful if the Window/@AutoResize is yes. - - - - - - - Identifier that references a string resource in the module to define the text for the column header. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Optional name for the control. - - - - - Set to 'yes' to disable automatic variable getting and setting, EnableCondition, VisibleCondition, and conditional Text elements. The default is 'no'. - - - - - A condition that determines if the control is enabled. If this condition is true or omitted, then the control will be enabled. - - - - - Height of the control. Non-positive values extend the control to the bottom of the window minus the value. - - - - - Hexadecimal window style for the control. - - - - - Specifies whether the control should be hidden when disabled. - - - - - Specifies whether the control is part of the tab sequence of controls. - - - - - Specifies whether the control is initially visible. - - - - - - A condition that determines if the control is visible. If this condition is true or omitted, then the control will be visible. - - - - - - Width of the control. Non-positive values extend the control to the right of the window minus the value. - - - - - X coordinate for the control from the left of the window. Negative values are coordinates from the right of the window minus the width of the control. - - - - - Y coordinate for the control from the top of the window. Negative values are coordinates from the bottom of the window minus the height of the control. - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - - - Indicates a system color for a font. - - - - - - - - - - - - - - - - - - Indicates the foreground or background color of a font. - - - - - diff --git a/src/Votive2017/schemas/util4.xsd b/src/Votive2017/schemas/util4.xsd deleted file mode 100644 index b7c85a8..0000000 --- a/src/Votive2017/schemas/util4.xsd +++ /dev/null @@ -1,1676 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Utility Extension. - - - - - - - - - - - Closes applications or schedules a reboot if application cannot be closed. - - - - - - - Condition that determines if the application should be closed. Must be blank or evaluate to true - for the application to be scheduled for closing. - - - - - Identifier for the close application (primary key). If the Id is not specified, one will be generated. - - - - - Name of the exectuable to be closed. This should only be the file name. - - - - - Description to show if application is running and needs to be closed. - - - - - Optionally orders the applications to be closed. - - - - - Optionally sends a close message to the application. Default is no. - - - - - Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application. Default is "no". - - - - - Optionally sends a close message to the application from deffered action without impersonation. Default is no. - - - - - Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application from a deffered action without impersonation. Default is "no". - - - - - Optionally prompts for reboot if application is still running. The default is "yes". The TerminateProcess attribute must be "no" or not specified if this attribute is "yes". - - - - - - When this attribute is set to "yes", the user will be prompted when the application is still running. The Description attribute must contain the message to - display in the prompt. The prompt occurs before executing any of the other options and gives the options to "Abort", "Retry", or "Ignore". Abort will cancel - the install. Retry will attempt the check again and if the application is still running, prompt again. "Ignore" will continue and execute any other options - set on the CloseApplication element. The default is "no". - - - - - - Property to be set if application is still running. Useful for launch conditions or to conditionalize custom UI to ask user to shut down apps. - - - - - - Attempts to terminates process and return the specified exit code if application is still running after sending any requested close and/or end session messages. - If this attribute is specified, the RebootPrompt attribute must be "no". The default is "no". - - - - - - - Optional time in seconds to wait for the application to exit after the close and/or end session messages. If the application is still running after the timeout then - the RebootPrompt or TerminateProcess attributes will be considered. The default value is "5" seconds. - - - - - - - - - - Describes a component search. - - - - - - - - - - Component to search for. - - - - - Optional ProductCode to determine if the component is installed. - - - - - - Rather than saving the matching key path into the variable, a ComponentSearch can save an attribute of the component instead. - - - - - - - Saves the parent directory for the component's file key path; other types of key path are returned unmodified. - - - - - Saves the state of the component: absent (2), locally installed (3), will run from source (4), or installed in default location (either local or from source) (5) - - - - - Saves the key path of the component if installed. This is the default. - - - - - - - - - - References a ComponentSearch. - - - - - - - - - - - - Describes a directory search. - - - - - - - - - - Directory path to search for. - - - - - - Rather than saving the matching directory path into the variable, a DirectorySearch can save an - attribute of the matching directory instead. - - - - - - - Saves true if a matching directory is found; false otherwise. - - - - - - - - - - References a DirectorySearch. - - - - - - - - - - - - - - - Creates an event source. - - - - - - The number of categories in CategoryMessageFile. CategoryMessageFile - must be specified too. - - - - - - - Name of the category message file. CategoryCount must be specified too. - Note that this is a formatted field, so you can use [#fileId] syntax to - refer to a file being installed. It is also written as a REG_EXPAND_SZ - string, so you can use %environment_variable% syntax to refer to a file - already present on the user's machine. - - - - - - - Name of the event message file. - Note that this is a formatted field, so you can use [#fileId] syntax to - refer to a file being installed. It is also written as a REG_EXPAND_SZ - string, so you can use %environment_variable% syntax to refer to a file - already present on the user's machine. - - - - - - - Marks the EventSource registry as the key path of the component it belongs to. - - - - - - Name of the event source's log. - - - - - Name of the event source. - - - - - - Name of the parameter message file. - Note that this is a formatted field, so you can use [#fileId] syntax to - refer to a file being installed. It is also written as a REG_EXPAND_SZ - string, so you can use %environment_variable% syntax to refer to a file - already present on the user's machine. - - - - - - - Equivalent to EVENTLOG_ERROR_TYPE. - - - - - - - Equivalent to EVENTLOG_AUDIT_FAILURE. - - - - - - - Equivalent to EVENTLOG_INFORMATION_TYPE. - - - - - - - Equivalent to EVENTLOG_AUDIT_SUCCESS. - - - - - - - Equivalent to EVENTLOG_WARNING_TYPE. - - - - - - - - Describes a file search. - - - - - - - - - - File path to search for. - - - - - - Rather than saving the matching file path into the variable, a FileSearch can save an attribute of the matching file instead. - - - - - - - Saves true if a matching file is found; false otherwise. - - - - - Saves the version information for files that have it (.exe, .dll); zero-version (0.0.0.0) otherwise. - - - - - - - - - - References a FileSearch. - - - - - - - - - - - - - - - Creates a file share out of the component's directory. - - - - - - ACL permission - - - - - - Identifier for the file share (primary key). - - - - - Name of the file share. - - - - - Description of the file share. - - - - - - - - Sets ACLs on a FileShare. This element has no Id attribute. - The table and key are taken from the parent element. - - - - - - - - - - - - - - - - - - - - For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. - - - - - - - - - specifying this will fail to grant read access - - - - - - - - - - - Formats a file's contents at install time. The contents are formatted according to the rules of the - Formatted data type. - - - - - - - The id of a Binary row that contains a copy of the file. The file in the Binary table overwrites whatever - file is installed by the parent component. - - - - - - - - - - - - - - Finds user groups on the local machine or specified Active Directory domain. The local machine will be - searched for the group first then fallback to looking in Active Directory. This element is not capable - of creating new groups but can be used to add new or existing users to an existing group. - - - - - - Unique identifier in your installation package for this group. - - - - - A Formatted string that contains the name of the group to be found. - - - - - An optional Formatted string that specifies the domain for the group. - - - - - - - Used to join a user to a group - - - - - - - - - - How To: Create a shortcut to a webpage - - Creates a shortcut to a URL. - - - - - Unique identifier in your installation package for this Internet shortcut. - - - - - Identifier reference to Directory element where shortcut is to be created. This attribute's value defaults to the parent Component directory. - - - - - - The name of the shortcut file, which is visible to the user. (The .lnk - extension is added automatically and by default, is not shown to the user.) - - - - - - - URL that should be opened when the user selects the shortcut. Windows - opens the URL in the appropriate handler for the protocol specified - in the URL. Note that this is a formatted field, so you can use - [#fileId] syntax to refer to a file being installed (using the file: - protocol). - - - - - - Which type of shortcut should be created. - - - - - - Creates .url files using IUniformResourceLocatorW. - - - - - Creates .lnk files using IShellLinkW (default). - - - - - - - - - - - - - Used to create performance categories and configure performance counters. - - - - - - - - Unique identifier in your installation package for this performance counter category. - - - - - Name for the performance counter category. If this attribute is not provided the Id attribute is used as the name of the performance counter category. - - - - - Optional help text for the performance counter category. - - - - - Flag that specifies whether the performance counter category is multi or single instanced. Default is single instance. - - - - - DLL that contains the performance counter. The default is "netfxperf.dll" which should be used for all managed code performance counters. - - - - - Function entry point in to the Library DLL called when opening the performance counter. The default is "OpenPerformanceData" which should be used for all managed code performance counters. - - - - - Function entry point in to the Library DLL called when closing the performance counter. The default is "ClosePerformanceData" which should be used for all managed code performance counters. - - - - - Function entry point in to the Library DLL called when collecting data from the performance counter. The default is "CollectPerformanceData" which should be used for all managed code performance counters. - - - - - Default language for the performance category and contained counters' names and help text. - - - - - - - Creates a performance counter in a performance category. - - - - - Name for the performance counter. - - - - - Optional help text for the performance counter. - - - - - Type of the performance counter. - - - - - Language for the peformance counter name and help. The default is to use the parent PerformanceCategory element's DefaultLanguage attribute. - - - - - - - - - - - Used to install Perfmon counters. - - - - - - - - - - - - Used to install Perfmon Counter Manifests. - Note that this functionality cannot be used with major upgrades that are scheduled after the InstallExecute, - InstallExecuteAgain, or InstallFinalize actions. For more information on major upgrade scheduling, see - RemoveExistingProducts Action. - - - - - - The directory that holds the resource file of the providers in the perfmon counter manifest. Often the resource file path cannot be determined until setup time. Put the directory here and during perfmon manifest registrtion the path will be updated in the registry. If not specified, Perfmon will look for the resource file in the same directory of the perfmon counter manifest file. - - - - - - - - - - Used to install Event Manifests. - - - - - The message file (including path) of all the providers in the event manifest. Often the message file path cannot be determined until setup time. Put your MessageFile here and the messageFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. - - - - - The parameter file (including path) of all the providers in the event manifest. Often the parameter file path cannot be determined until setup time. Put your ParameterFile here and the parameterFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. - - - - - The resource file (including path) of all the providers in the event manifest. Often the resource file path cannot be determined until setup time. Put your ResourceFile here and the resourceFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. - - - - - - - - Sets ACLs on File, Registry, CreateFolder, or ServiceInstall. When under a Registry element, this cannot be used - if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute. - The table and key are taken from the parent element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. - - - - - - - - - - - - - - - - - - - specifying this will fail to grant read access - - - - - - Required to call the QueryServiceConfig and QueryServiceConfig2 functions to query the service configuration. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ChangeServiceConfig or ChangeServiceConfig2 function to change the service configuration. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the QueryServiceStatus function to ask the service control manager about the status of the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the EnumDependentServices function to enumerate all the services dependent on the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the StartService function to start the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ControlService function to stop the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ControlService function to pause or continue the service. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ControlService function to ask the service to report its status immediately. Only valid under a 'ServiceInstall' parent. - - - - - Required to call the ControlService function to specify a user-defined control code. Only valid under a 'ServiceInstall' parent. - - - - - - - Describes a product search. - - - - - - - - - - The Guid attribute has been deprecated; use the ProductCode or UpgradeCode attribute instead. If this attribute is used, it is assumed to be a ProductCode. - - - - - The ProductCode to use for the search. This attribute must be omitted if UpgradeCode is specified. - - - - - The UpgradeCode to use for the search. This attribute must be omitted if ProductCode is specified. Note that if multiple products are found, the highest versioned product will be used for the result. - - - - - - Rather than saving the product version into the variable, a ProductSearch can save another attribute of the matching product instead. - - - - - - - Saves the version of a matching product if found; 0.0.0.0 otherwise. This is the default. - - - - - Saves the language of a matching product if found; empty otherwise. - - - - - Saves the state of the product: advertised (1), absent (2), or locally installed (5). - - - - - Saves the assignment type of the product: per-user (0), or per-machine (1). - - - - - - - - - - References a ProductSearch. - - - - - - - - - - - - - - - - The custom action that implements RemoveFolderEx does so by writing temporary rows to the RemoveFile table - for each subfolder of the root folder you specify. Because it might dramatically affect Windows Installer's - File Costing, - the temporary rows must be written before the CostInitialize standard action. Unfortunately, MSI doesn't - create properties for the Directory hierarchy in your package until later, in the CostFinalize action. - An easy workaround for a typical use case of removing a folder during uninstall is to write the directory - path to the registry and to load it during uninstall. See - The WiX toolset's "Remember Property" pattern - for an example. - If you use custom actions to set properties, ensure that they are scheduled before the WixRemoveFoldersEx custom action. - - - - Remove a folder and all contained files and folders if the parent component is selected for installation or removal. - The folder must be specified in the Property attribute as the name of a property that will have a value that resolves - to the full path of the folder before the CostInitialize action. Note that Directory ids cannot be used. - For more details, see the Remarks. - - - - - - Primary key used to identify this particular entry. If this is not specified, a stable identifier - will be generated at compile time based on the other attributes. - - - - - - The id of a property that resolves to the full path of the source directory. The property does not have - to exist in the installer database at creation time; it could be created at installation time by a custom - action, on the command line, etc. The property value can contain environment variables surrounded by - percent signs such as from a REG_EXPAND_SZ registry value; environment variables will be expanded before - being evaluated for a full path. - - - - - - - This value determines when the folder may be removed. - - - - - - - - Removes the folder only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource). - - - - - - - Default: Removes the folder only when the parent component is being removed (msiInstallStateAbsent). - - - - - - - Removes the folder when the parent component is being installed or removed. - - - - - - - - - - - Registers a resource with the Restart Manager. - - - - - - - - - - - The unique identifier for this resource. A unique identifier will - be generated automatically if not specified. - - - - - The full path to the process module to register with the Restart Manager. - This can be a formatted value that resolves to a full path. - - - - - The name of a process to register with the Restart Manager. - This can be a formatted value that resolves to a process name. - - - - - The name of a Windows service to register with the Restart Manager. - This can be a formatted value that resolves to a service name. - - - - - - - Describes a registry search. - - - - - - - - - - Registry root hive to search under. - - - - - - HKEY_LOCAL_MACHINE - - - - - HKEY_CURRENT_USER - - - - - HKEY_CLASSES_ROOT - - - - - HKEY_USERS - - - - - - - - Key to search for. - - - - - Optional value to search for under the given Key. - - - - - What format to return the value in. - - - - - - Returns the unformatted value directly from the registry. For example, a REG_DWORD value of '1' is returned as '1', not '#1'. - - - - - Returns the value formatted as Windows Installer would. For example, a REG_DWORD value of '1' is returned as '#1', not '1'. - - - - - - - - Whether to expand any environment variables in REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ values. - - - - - - Rather than saving the matching registry value into the variable, a RegistrySearch can save an attribute of the matching entry instead. - - - - - - - Saves true if a matching registry entry is found; false otherwise. - - - - - Saves the value of the registry key in the variable. This is the default. - - - - - - - - Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. The default value is 'no'. - - - - - - - References a RegistrySearch. - - - - - - - - - - - - Service configuration information for failure actions. - - - - - - Nesting a ServiceConfig element under a ServiceInstall element will result in the service being installed to be configured. - Nesting a ServiceConfig element under a component element will result in an already installed service to be configured. If the service does not exist prior to the install of the MSI package, the install will fail. - - - - - - - - Required if not under a ServiceInstall element. - - - - - Action to take on the first failure of the service. - - - - - - - - - - - - - Action to take on the second failure of the service. - - - - - - - - - - - - - Action to take on the third failure of the service. - - - - - - - - - - - - - Number of days after which to reset the failure count to zero if there are no failures. - - - - - If any of the three *ActionType attributes is "restart", this specifies the number of seconds to wait before doing so. - - - - - If any of the three *ActionType attributes is "runCommand", this specifies the command to run when doing so. This value is formatted. - - - - - If any of the three *ActionType attributes is "reboot", this specifies the message to broadcast to server users before doing so. - - - - - - - Updates the last modified date/time of a file. - - - - - - - - Identifier for the touch file operation. If the identifier is not specified it will be generated. - - - - - Path of the file to update. This value is formatted. - - - - - Specifies whether or not the modified time of the file should be updated on install. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'yes'. - - - - - Specifies whether or not the modified time of the file should be updated on reinstall. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'yes'. - - - - - Specifies whether or not the modified time of the file should be updated on uninstall. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'no'. - - - - - Indicates the installation will succeed even if the modified time of the file cannot be updated. The default is 'no'. - - - - - - - User for all kinds of things. When it is not nested under a component it is included in the MSI so it can be referenced by other elements such as the User attribute in the AppPool element. When it is nested under a Component element, the User will be created on install and can also be used for reference. - - - - - - - - - - - - - - - - - A Formatted string that contains the name of the user account. - - - - - A Formatted string that contains the local machine or Active Directory domain for the user. - - - - - Usually a Property that is passed in on the command-line to keep it more secure. - - - - - The account's password never expires. Equivalent to UF_DONT_EXPIRE_PASSWD. - - - - - The user cannot change the account's password. Equivalent to UF_PASSWD_CANT_CHANGE. - - - - - Indicates whether the user account should be removed or left behind on uninstall. - - - - - Indicates if the install should fail if the user already exists. - - - - - Indicates whether or not the user can logon as a serivce. User creation can be skipped if all that is desired is to set this access right on the user. - - - - - Indicates whether or not the user can logon as a batch job. User creation can be skipped if all that is desired is to set this access right on the user. - - - - - Indicates if the user account properties should be updated if the user already exists. - - - - - Indicates whether the user must change their password on their first login. - - - - - The account is disabled. Equivalent to UF_ACCOUNTDISABLE. - - - - - Indicates whether or not to create the user. User creation can be skipped if all that is desired is to join a user to groups. - - - - - Indicates whether failure to create the user or add the user to a group fails the installation. The default value is "yes". - - - - - - - - Adds or removes .xml file entries. If you use the XmlFile element you must reference WixUtilExtension.dll as it contains the XmlFile custom actions. - - - - - - - - - Identifier for xml file modification. - - - - - The XPath of the element to be modified. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. - - - - - Path of the .xml file to configure. - - - - - Name of XML node to set/add to the specified element. Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set. - - - - - - The value to be written. See the Formatted topic for information how to escape square brackets in the value. - - - - - - The type of modification to be made to the XML file when the component is installed. - - - - - - Creates a new element under the element specified in ElementPath. The Name attribute is required in this case and specifies the name of the new element. The Value attribute is not necessary when createElement is specified as the action. If the Value attribute is set, it will cause the new element's text value to be set. - - - - - Deletes a value from the element specified in the ElementPath. If Name is specified, the attribute with that name is deleted. If Name is not specified, the text value of the element specified in the ElementPath is deleted. The Value attribute is ignored if deleteValue is the action specified. - - - - - Sets a value in the element specified in the ElementPath. If Name is specified, and attribute with that name is set to the value specified in Value. If Name is not specified, the text value of the element is set. Value is a required attribute if setValue is the action specified. - - - - - Sets all the values in the elements that match the ElementPath. If Name is specified, attributes with that name are set to the same value specified in Value. If Name is not specified, the text values of the elements are set. Value is a required attribute if setBulkValue is the action specified. - - - - - - - - Specifies whether or not the modification should be removed on uninstall. This has no effect on uninstall if the action was deleteValue. - - - - - Specifies wheter or not the modification should preserve the modified date. Preserving the modified date will allow the file to be patched if no other modifications have been made. - - - - - Specifies the order in which the modification is to be attempted on the XML file. It is important to ensure that new elements are created before you attempt to add an attribute to them. - - - - - - Specify whether the DOM object should use XPath language or the old XSLPattern language (default) as the query language. - - - - - - - - - - - - - - - Adds or removes .xml file entries. If you use the XmlConfig element you must reference WixUtilExtension.dll as it contains the XmlConfig custom actions. - - - - - - - - - - - - Identifier for xml file modification. - - - - - - - - - - - - - The Id of another XmlConfig to add attributes to. In this case, the 'ElementPath', 'Action', 'Node', and 'On' attributes must be omitted. - - - - - The XPath of the parent element being modified. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. - - - - - Path of the .xml file to configure. - - - - - Name of XML node to set/add to the specified element. Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set. - - - - - - - - - - - - - - - - - - - - - - Specifies wheter or not the modification should preserve the modified date. Preserving the modified date will allow the file to be patched if no other modifications have been made. - - - - - Specifies the order in which the modification is to be attempted on the XML file. It is important to ensure that new elements are created before you attempt to add an attribute to them. - - - - - - The value to be written. See the Formatted topic for information how to escape square brackets in the value. - - - - - - The XPath to the element being modified. This is required for 'delete' actions. For 'create' actions, VerifyPath is used to decide if the element already exists. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. - - - - - - - - Id of the search for ordering and dependency. - - - - - Name of the variable in which to place the result of the search. - - - - - Condition for evaluating the search. If this evaluates to false, the search is not executed at all. - - - - - Id of the search that this one should come after. - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - Enumeration of valid languages for performance counters. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Enumeration of valid types for performance counters. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Votive2017/schemas/vs4.xsd b/src/Votive2017/schemas/vs4.xsd deleted file mode 100644 index 5117292..0000000 --- a/src/Votive2017/schemas/vs4.xsd +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - The source code schema for the WiX Toolset Visual Studio Extension. - - - - - - - Help Namespace for a help collection. The parent file is the key for the HxC (Collection) file. - - - - - - - - - - - - - Primary Key for HelpNamespace. - - - Friendly name for Namespace. - - - Internal Microsoft Help ID for this Namespace. - - - Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. - - - - - - - - Filter for Help Namespace. - - - - - - - - - - Primary Key for HelpFilter. - - - Query String for Help Filter. - - - Friendly name for Filter. - - - Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. - - - - - - - - File for Help Namespace. The parent file is the key for HxS (Title) file. - - - - - - - - Primary Key for HelpFile Table. - - - Key for HxR (Attributes) file. - - - Key for HxI (Index) file. - - - Language ID for content file. - - - Internal Microsoft Help ID for this HelpFile. - - - Key for a file that is in the "root" of the samples directory for this HelpFile. - - - Key for HxQ (Query) file. - - - Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. - - - - - - Plugin for Help Namespace. - - - Key for HxA (Attributes) file of child namespace. - - - Key for HxT file of child namespace. - - - - Foriegn Key into HelpNamespace table for the parent namespace into which the child will be inserted. - The following special keys can be used to plug into external namespaces defined outside of the installer. - MS_VSIPCC_v80 : Visual Studio 2005 - MS.VSIPCC.v90 : Visual Studio 2008 - - - - Key for HxT file of parent namespace that now includes the new child namespace. - - - Key for the feature parent of this help collection. Required only when plugging into external namespaces. - - - Suppress linking Visual Studio Help namespaces. Help redistributable merge modules will be required. Use this when building a merge module. - - - - - - Create a reference to a HelpFile element in another Fragment. - - - Primary Key for HelpFile Table. - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - Create a reference to a HelpFile element in another Fragment. - - - Primary Key for HelpFilter. - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a HelpCollection element in another Fragment. - - - - - - - - - - - - Primary Key for HelpNamespace Table. - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - This element provides the metdata required to install/uninstall a file as - a VSIX Package. The VSIX package file will be installed as part of the MSI - then passed to the VSIX installer to install the VSIX package. To avoid the - duplication, simply use the MSI to install the VSIX package itself. - - - - - - - - - - - Reference to file identifer. This attribute is required when the element is not a - child of a File element and is invalid when the element is a child of the File element. - - - - - - - Identity of the VSIX package per its internal manifest. If this value is not correct - the VSIX package will not correctly uninstall. - - - - - - - Indicates whether the VSIX package is uninstalled when the parent Component is uninstalled. - The default is 'no'. - - - - - - - Specifies the SKU of Visual Studio in which to register the extension. If no target - is specified the extension is registered with all installed SKUs. If the Target - attribute is specified the TargetVersion attribute must also be specified. The - following is a list of known Visual Studio targets: integratedShell, professional, - premium, ultimate, vbExpress, vcExpress, vcsExpress, vwdExpress - - - - - - - Specifies the version of Visual Studio in which to register the extension. This attribute - is required if the Target attribute is specified. - - - - - - - Indicates whether failure to install the VSIX package causes the installation to rollback. - The default is 'yes'. - - - - - - - Optional reference to a Property element that contains the path to the VsixInstaller.exe. - By default, the latest VsixInstaller.exe on the machine will be used to install the VSIX - package. It is highly recommended that this attribute is *not* used. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/src/Votive2017/schemas/wix4.xsd b/src/Votive2017/schemas/wix4.xsd deleted file mode 100644 index cff3c21..0000000 --- a/src/Votive2017/schemas/wix4.xsd +++ /dev/null @@ -1,13036 +0,0 @@ - - - - - - - - Schema for describing Windows Installer database files (.msi/.msm/.pcp). - - - - - - - - - - This is the top-level container element for every wxs file. Among the possible children, - the Bundle, Product, Module, Patch, and PatchCreation elements are analogous to the main function in a C program. - There can only be one of these present when linking occurs. Product compiles into an msi file, - Module compiles into an msm file, PatchCreation compiles into a pcp file. The Fragment element - is an atomic unit which ultimately links into either a Product, Module, or PatchCreation. The - Fragment can either be completely included or excluded during linking. - - - - - - - - - - - - - - - - - - Required version of the WiX toolset to compile this input file. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. - - - - - - - - - This is the top-level container element for every wxi file. - - - - - - - - - - - The root element for creating bundled packages. - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - A URL for more information about the bundle to display in Programs and Features (also - known as Add/Remove Programs). - - - - - - - The legal copyright found in the version resources of final bundle executable. If - this attribute is not provided the copyright will be set to "Copyright (c) [Bundle/@Manufacturer]. All rights reserved.". - - - - - - Whether Packages and Payloads not assigned to a container should be added to the default attached container or if they should be external. The default is yes. - - - - - - Determines whether the bundle can be modified via the Programs and Features (also known as - Add/Remove Programs). If the value is "button" then Programs and Features will show a single - "Uninstall/Change" button. If the value is "yes" then Programs and Features will only show - the "Uninstall" button". If the value is "no", the default, then a "Change" button is shown. - See the DisableRemove attribute for information how to not display the bundle in Programs - and Features. - - - - - - - Determines whether the bundle can be removed via the Programs and Features (also - known as Add/Remove Programs). If the value is "yes" then the "Uninstall" button will - not be displayed. The default is "no" which ensures there is an "Uninstall" button to - remove the bundle. If the "DisableModify" attribute is also "yes" or "button" then the - bundle will not be displayed in Progams and Features and another mechanism (such as - registering as a related bundle addon) must be used to ensure the bundle can be removed. - - - - - - - - - - - - - - A telephone number for help to display in Programs and Features (also known as - Add/Remove Programs). - - - - - - - A URL to the help for the bundle to display in Programs and Features (also known as - Add/Remove Programs). - - - - - - - Path to an icon that will replace the default icon in the final Bundle executable. - This icon will also be displayed in Programs and Features (also known as Add/Remove - Programs). - - - - - - - The publisher of the bundle to display in Programs and Features (also known as - Add/Remove Programs). - - - - - - - The name of the bundle to display in Programs and Features (also known as Add/Remove - Programs). This name can be accessed and overwritten by a BootstrapperApplication - using the WixBundleName bundle variable. - - - - - - - The name of the parent bundle to display in Installed Updates (also known as Add/Remove - Programs). This name is used to nest or group bundles that will appear as updates. - If the parent name does not actually exist, a virtual parent is created automatically. - - - - - - Path to a bitmap that will be shown as the bootstrapper application is being loaded. If this attribute is not specified, no splash screen will be displayed. - - - - - Set this string to uniquely identify this bundle to its own BA, and to related bundles. The value of this string only matters to the BA, and its value has no direct effect on engine functionality. - - - - - - A URL for updates of the bundle to display in Programs and Features (also - known as Add/Remove Programs). - - - - - - - Unique identifier for a family of bundles. If two bundles have the same UpgradeCode the - bundle with the highest version will be installed. - - - - - - - The version of the bundle. Newer versions upgrade earlier versions of the bundles - with matching UpgradeCodes. If the bundle is registered in Programs and Features - then this attribute will be displayed in the Programs and Features user interface. - - - - - - - The condition of the bundle. If the condition is not met, the bundle will - refuse to run. Conditions are checked before the bootstrapper application is loaded - (before detect), and thus can only reference built-in variables such as - variables which indicate the version of the OS. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Provides information about an .exe so that the BA can request the engine to run it elevated from any secure location. - - - - - - - - The identifier of the ApprovedExeForElevation element. - - - - - - The key path. - For security purposes, the root key will be HKLM and Variables are not supported. - - - - - - - The value name. - For security purposes, Variables are not supported. - - - - - - - Instructs the search to look in the 64-bit registry when the value is 'yes'. - When the value is 'no', the search looks in the 32-bit registry. - The default value is 'no'. - - - - - - - - Overrides the default log settings for a bundle. - - - - - - - - - Disables the default logging in the Bundle. The end user can still generate a - log file by specifying the "-l" command-line argument when installing the - Bundle. - - - - - - - Name of a Variable that will hold the path to the log file. An empty value - will cause the variable to not be set. The default is "WixBundleLog". - - - - - - - File name and optionally a relative path to use as the prefix for the log file. The - default is to use the Bundle/@Name or, if Bundle/@Name is not specified, the value - "Setup". - - - - - - The extension to use for the log. The default is ".log". - - - - - - - Specify one or more catalog files that will be used to verify the contents of the bundle. - - - - - - - - The identifier of the catalog element. - - - - - The catalog file - - - - - - - Contains all the relevant information about the setup UI. - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The identifier of the BootstrapperApplication element. Only required if you want to reference this element using a BootstrapperApplicationRef element. - - - - - The DLL with the bootstrapper application entry function. - - - - - The relative destination path and file name for the bootstrapper application DLL. The default is the source file name. Use this attribute to rename the bootstrapper application DLL or extract it into a subfolder. The use of '..' directories is not allowed. - - - - - - - Used to reference a BootstrapperApplication element and optionally add additional payloads to the bootstrapper application. - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The identifier of the BootstrapperApplication element to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - This element has been deprecated. Use the BootstrapperApplication element instead. - - - - - - - - - - - - - - See the BootstrapperApplication instead. - - - - - See the BootstrapperApplication instead. - - - - - See the BootstrapperApplication instead. - - - - - - - Writes additional information to the Windows registry that can be used to detect the bundle. - This registration is intended primarily for update to an existing product. - - - The attributes are used to write the following registry values to the key: - SOFTWARE\[Manufacturer]\Updates\[ProductFamily]\[Name] - - ThisVersionInstalled: Y - PackageName: >bundle name< - PackageVersion: >bundle version< - Publisher: [Manufacturer] - PublishingGroup: [Department] - ReleaseType: [Classification] - InstalledBy: [LogonUser] - InstalledDate: [Date] - InstallerName: >installer name< - InstallerVersion: >installer version< - - - - - - - - The name of the manufacturer. The default is the Bundle/@Manufacturer attribute, - but may also be a short form, ex: Acme instead of Acme Corporation. - An error is generated at build time if neither attribute is specified. - - - - - The name of the department or division publishing the update bundle. - The PublishingGroup registry value is not written if this attribute is not specified. - - - - - The name of the family of products being updated. The default is the Bundle/@ParentName attribute. - The corresponding registry key is not created if neither attribute is specified. - - - - - The name of the bundle. The default is the Bundle/@Name attribute, - but may also be a short form, ex: KB12345 instead of Update to Product (KB12345). - An error is generated at build time if neither attribute is specified. - - - - - The release type of the update bundle, such as Update, Security Update, Service Pack, etc. - The default value is Update. - - - - - - - Contains the chain of packages to install. - - - - - - - - - - - - - - - - - Specifies whether the bundle will attempt to rollback packages - executed in the chain. If "yes" is specified then when a vital - package fails to install only that package will rollback and the - chain will stop with the error. The default is "no" which - indicates all packages executed during the chain will be - rolledback to their previous state when a vital package fails. - - - - - - - Specifies whether the bundle will attempt to create a system - restore point when executing the chain. If "yes" is specified then - a system restore point will not be created. The default is "no" which - indicates a system restore point will be created when the bundle is - installed, uninstalled, repaired, modified, etc. If the system restore - point cannot be created, the bundle will log the issue and continue. - - - - - - - Specifies whether the bundle will start installing packages - while other packages are still being cached. If "yes", - packages will start executing when a rollback boundary is - encountered. The default is "no" which dictates all packages - must be cached before any packages will start to be installed. - - - - - - - - Describes a single msi package to install. - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the package identifier as the first value in - contextValues. - - - - - - - - - Specifies whether the bundle will show the UI authored into the msi package. The default is "no" - which means all information is routed to the bootstrapper application to provide a unified installation - experience. If "yes" is specified the UI authored into the msi package will be displayed on top of - any bootstrapper application UI. - - - - - - - Specifies whether the bundle will allow individual control over the installation state of Features inside - the msi package. Managing feature selection requires special care to ensure the install, modify, update and - uninstall behavior of the package is always correct. The default is "no". - - - - - - - Override the automatic per-machine detection of MSI packages and force the package to be per-machine. - The default is "no", which allows the tools to detect the expected value. - - - - - - - This attribute has been deprecated. When the value is "yes", the Binder will not read the MSI package - to detect uncompressed files that would otherwise be automatically included in the Bundle as Payloads. - The resulting Bundle may not be able to install the MSI package correctly. The default is "no". - - - - - - - Specifies whether the MSI will be displayed in Programs and Features (also known as Add/Remove Programs). If "yes" is - specified the MSI package information will be displayed in Programs and Features. The default "no" indicates the MSI - will not be displayed. - - - - - - - - Describes a single msp package to install. - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the package identifier as the first value in - contextValues. - - - - - - - - - Specifies whether the bundle will show the UI authored into the msp package. The default is "no" - which means all information is routed to the bootstrapper application to provide a unified installation - experience. If "yes" is specified the UI authored into the msp package will be displayed on top of - any bootstrapper application UI. - - - - - - Indicates the package must be executed elevated. The default is "no". - - - - - - Specifies whether to automatically slipstream the patch for any target msi packages in the chain. The default is "no". - Even when the value is "no", you can still author the SlipstreamMsp element under MsiPackage elements as desired. - - - - - - - - Describes a single msu package to install. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the package identifier as the first value in - contextValues. - - - - - - - - - A condition that determines if the package is present on the target system. This condition can use built-in - variables and variables returned by searches. This condition is necessary because Windows doesn't provide a - method to detect the presence of an MsuPackage. Burn uses this condition to determine how to treat this - package during a bundle action; for example, if this condition is false or omitted and the bundle is being - installed, Burn will install this package. - - - - - - - The knowledge base identifier for the MSU. The KB attribute must be specified to enable the MSU package to - be uninstalled. Even then MSU uninstallation is only supported on Windows 7 and later. When the KB attribute - is specified, the Permanent attribute will the control whether the package is uninstalled. - - - - - - - - Describes a single exe package to install. - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the package identifier as the first value in - contextValues. - - - - - - - - - A condition that determines if the package is present on the target system. This condition can use built-in - variables and variables returned by searches. This condition is necessary because Windows doesn't provide a - method to detect the presence of an ExePackage. Burn uses this condition to determine how to treat this - package during a bundle action; for example, if this condition is false or omitted and the bundle is being - installed, Burn will install this package. - - - - - - The command-line arguments provided to the ExePackage during install. If this attribute is absent the executable will be launched with no command-line arguments. - - - - - - The command-line arguments to specify to indicate a repair. If the executable package can be repaired but - does not require any special command-line arguments to do so then set the attribute's value to blank. To - indicate that the package does not support repair, omit this attribute. - - - - - - The command-line arguments provided to the ExePackage during uninstall. If this attribute is absent the executable will be launched with no command-line arguments. To prevent an ExePackage from being uninstalled set the Permanent attribute to "yes". - - - - - Indicates the package must be executed elevated. The default is "no". - - - - - Indicates the communication protocol the package supports for extended progress and error reporting. The default is "none". - - - - - - - Describes a rollback boundary in the chain. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. The extension's - CompilerExtension.ParseElement() - method will be called with the rollback boundary identifier as the 'RollbackBoundaryId' key in - contextValues. - - - - - - - - Identifier for this rollback boundary, for ordering and cross-referencing. If this attribute is - not provided a stable identifier will be generated. - - - - - - - Specifies whether the rollback boundary aborts the chain. The default "yes" indicates that if - the rollback boundary is encountered then the chain will fail and rollback or stop. If "no" - is specified then the chain should continue successfuly at the next rollback boundary. - - - - - - - Specifies whether the rollback boundary is wrapped in an MSI transaction. The default is "no" - - - - - - - - - - Location of the package to add to the bundle. The default value is the Name attribute, if provided. - At a minimum, the SourceFile or Name attribute must be specified. - - - - - - - The destination path and file name for this chain payload. Use this attribute to rename the - chain entry point or extract it into a subfolder. The default value is the file name from the - SourceFile attribute, if provided. At a minimum, the Name or SourceFile attribute must be specified. - The use of '..' directories is not allowed. - - - - - - - The URL to use to download the package. The following substitutions are supported: - - {0} is replaced by the package Id. - {1} is replaced by the payload Id. - {2} is replaced by the payload file name. - - - - - - - - Identifier for this package, for ordering and cross-referencing. The default is the Name attribute - modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores). - - - - - - - The identifier of another package that this one should be installed after. By default the After - attribute is set to the previous sibling package in the Chain or PackageGroup element. If this - attribute is specified ensure that a cycle is not created explicitly or implicitly. - - - - - - - The size this package will take on disk in bytes after it is installed. By default, the binder will - calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs) - and use the total for the install size of the package. - - - - - - A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled. - - - - - Whether to cache the package. The default is "yes". - - - - - The identifier to use when caching the package. - - - - - - Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages - use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use - the DisplayName patch metadata property. Other package types must use this attribute to define a display name in the - bootstrapper application data manifest. - - - - - - - Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages - use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use - the Description patch metadata property. Other package types must use this attribute to define a description in the - bootstrapper application data manifest. - - - - - - - Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not - be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging. - - - - - - - Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause - the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which - default to no logging. - - - - - - - Specifies whether the package can be uninstalled. The default is "no". - - - - - - - Specifies whether the package must succeed for the chain to continue. The default "yes" - indicates that if the package fails then the chain will fail and rollback or stop. If - "no" is specified then the chain will continue even if the package reports failure. - - - - - - Whether the package payload should be embedded in a container or left as an external payload. - - - - - - By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes" - and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the - signature instead. Beware that there are many real world issues with Windows verifying Authenticode signatures. - Since the Authenticode signatures are no more secure than hashing the packages directly, the default is "no". - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. The extension's - CompilerExtension.ParseAttribute() - method will be called with the package identifier in - contextValues["PackageId"]. - - - - - - - Describes a package group to a bootstrapper. - - - - - - - - - - - - - - - - Identifier for package group. - - - - - - - Create a reference to PackageGroup element that exists inside a Bundle or Fragment element. - - - - - - - - - - - The identifier of the PackageGroup element to reference. - - - - - The identifier of a package that this group should be installed after. - - - - - - - Allows an MSI property to be set based on the value of a burn engine expression. - - - - - - - - The name of the MSI property to set. Burn controls the follow MSI properties so they cannot be set with MsiProperty: ACTION, ALLUSERS, REBOOT, REINSTALL, REINSTALLMODE - - - - - The value to set the property to. This string is evaluated by the burn engine and can be as simple as a burn engine variable reference or as complex as a full expression. - - - - - - - Specifies a patch included in the same bundle that is installed when the parent MSI package is installed. - - - - - You can also specify that any MspPackage elements in the chain are automatically slipstreamed by setting the Slipstream attribute of an MspPackage to "yes". This will reduce the amount of authoring you need to write and will determine which msi packages can slipstream patches when building a bundle. - - - - - - - The identifier for a MspPackage in the bundle. - - - - - - - Describes a burn engine variable to define. - - - - - - - - - Whether the value of the variable should be hidden. - - - - - The name for the variable. - - - - - Whether the variable should be persisted. - - - - - Starting value for the variable. - - - - - Type of the variable, inferred from the value if not specified. - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Representation of a file that contains one or more files. - - - - - - - - - - - - The URL to use to download the container. This attribute is only valid when the container is detached. The - following substitutions are supported: - - {0} is always null. - {1} is replaced by the container Id. - {2} is replaced by the container file name. - - - - - - - The unique identifier for the container. If this attribute is not specified the Name attribute will be used. - - - - - The file name for this container. A relative path may be provided to place the container in a sub-folder of the bundle. - - - - - - Indicates whether the container is "attached" to the bundle executable or placed external to the bundle extecutable as "detached". If - this attribute is not specified, the default is to create a detached container. - - - - - - - - Create a reference to an existing Container element. - - - - - - - - - The identifier of Container element to reference. - - - - - - - Describes map of exit code returned from executable package to a bootstrapper behavior. - - - - - - - - Exit code returned from executable package. If no value is provided it means all values not explicitly set default to this behavior. - - - - - Choose one of the supported behaviors error codes: success, error, scheduleReboot, forceReboot. - - - - - - - - - - - - - - - Describes additional, conditional command-line arguments for an ExePackage. - - - - - Additional command-line arguments to apply during package installation if Condition is true. - - - - - Additional command-line arguments to apply during package uninstallation if Condition is true. - - - - - Additional command-line arguments to apply during package repair if Condition is true. - - - - - - The condition that controls whether the command-line arguments specified in the - InstallArgument, UninstallArgument, or RepairArgument attributes are appended to the - command line passed to the ExePackage. Which attribute is used depends on the - action being applied to the ExePackage. For example, when the ExePackage is - being installed, the InstallArgument attribute value is appended to the command - line when the ExePackage is executed. - - - - - - - - Describes a payload to a bootstrapper. - - - - - - - - - - - - - The identifier of Payload element. - - - - - Whether the payload should be embedded in a container or left as an external payload. - - - - - Location of the source file. - - - - - The destination path and file name for this payload. The default is the source file name. The use of '..' directories is not allowed. - - - - - - The URL to use to download the package. The following substitutions are supported: - - {0} is replaced by the package Id. - {1} is replaced by the payload Id. - {2} is replaced by the payload file name. - - - - - - - - By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes" - and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the - signature instead. Beware that there are many real world issues with Windows verifying Authenticode signatures. - Since the Authenticode signatures are no more secure than hashing the packages directly, the default is "no". - - - - - - - - Describes a payload group to a bootstrapper. PayloadGroups referenced from within a Bundle are tied to the Bundle. - PayloadGroups referenced from a Fragment are tied to the context of whatever references them such as an ExePackage or MsiPackage. - It is possible to share a PayloadGroup between multiple Packages and/or a Bundle by creating multiple references to it. - - - - - - - - - - - - Identifier for payload group. - - - - - - - Create a reference to PayloadGroup element that exists inside a Bundle or Fragment element. - - - - - - - - - - - The identifier of the PayloadGroup element to reference. - - - - - - - Describes information about a remote file payload that is not available at the time of building the bundle. - The parent must specify DownloadUrl and must not specify SourceFile when using this element. - - - - - - - - - Public key of the authenticode certificate used to sign the RemotePayload. Include this attribute if the remote file is signed. - - - - - Thumbprint of the authenticode certificate used to sign the RemotePayload. Include this attribute if the remote file is signed. - - - - - Description of the file from version resources. - - - - - SHA-1 hash of the RemotePayload. Include this attribute if the remote file is unsigned or SuppressSignatureVerification is set to Yes. - - - - - Product name of the file from version resouces. - - - - - Size of the remote file in bytes. - - - - - Version of the remote file - - - - - - - Create a RelatedBundle element. - - - - - - - - - The identifier of the RelatedBundle group. - - - - - The action to take on bundles related to this one. Detect is the default. - - - - - - - - - - - - - - - Defines the update for a Bundle. - - - - - - - - - - The absolute path or URL to check for an update bundle. Currently the engine provides this value - in the IBootstrapperApplication::OnDetectUpdateBegin() and otherwise ignores the value. In the - future the engine will be able to acquire an update bundle from the location and determine if it - is newer than the current executing bundle. - - - - - - - - - The Product element is analogous to the main function in a C program. When linking, only one Product section - can be given to the linker to produce a successful result. Using this element creates an msi file. - - - - You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - The product code GUID for the product. - - - - - The code page integer value or web name for the resulting MSI. See remarks for more information. - - - - - The decimal language ID (LCID) for the product. - - - - - The manufacturer of the product. - - - - - The descriptive name of the product. - - - - - The upgrade code GUID for the product. - - - - - The product's version string. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - The Module element is analogous to the main function in a C program. When linking, only - one Module section can be given to the linker to produce a successful result. Using this - element creates an msm file. - - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - The name of the merge module (not the file name). - - - - - The code page integer value or web name for the resulting MSM. See remarks for more information. - - - - - This attribute is deprecated. Use the Package/@Id attribute instead. - - - - - The decimal language ID (LCID) of the merge module. - - - - - The major and minor versions of the merge module. - - - - - - - Declares a dependency on another merge module. - - - - - Identifier of the merge module required by the merge module. - - - - - Numeric language ID of the merge module in RequiredID. - - - - - Version of the merge module in RequiredID. - - - - - - - Declares a merge module with which this merge module is incompatible. - - - - - Identifier of the merge module that is incompatible. - - - - - Numeric language ID of the merge module in ExcludedID. All except this language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified. - - - - - Numeric language ID of the merge module in ExcludedID. The specified language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified. - - - - - Minimum version excluded from a range. If not set, all versions before max are excluded. If neither max nor min, no exclusion based on version. - - - - - Maximum version excluded from a range. If not set, all versions after min are excluded. If neither max nor min, no exclusion based on version. - - - - - - - Defines the configurable attributes of merge module. - - - - - Defines the name of the configurable item. - - - - - Specifies the format of the data being changed. - - - - - - - - - - - - - Specifies the type of the data being changed. - - - - - Specifies a semantic context for the requested data. - - - - - Specifies a default value for the item in this record if the merge tool declines to provide a value. - - - - - Does not merge rule according to rules in MSI SDK. - - - - - If yes, null is not a valid entry. - - - - - Display name for authoring. - - - - - Description for authoring. - - - - - Location of chm file for authoring. - - - - - Keyword into chm file for authoring. - - - - - - - Specifies the configurable fields of a module database and provides a template for the configuration of each field. - - - - - Specifies the name of the table being modified in the module database. - - - - - Specifies the primary keys of the target row in the table named in the Table column. If multiple keys, separated by semicolons. - - - - - Specifies the target column in the row named in the Row column. - - - - - Provides a formatting template for the data being substituted into the target field specified by Table, Row, and Column. - - - - - - - - Specifies a table from the merge module that is not merged into an .msi file. - If the table already exists in an .msi file, it is not modified by the merge. - The specified table can therefore contain data that is unneeded after the merge. - To minimize the size of the .msm file, it is recommended that developers remove - unused tables from modules intended for redistribution rather than creating - IgnoreTable elements for those tables. - - - - - - - The name of the table in the merge module that is not to be merged into the .msi file. - - - - - - - - - The Fragment element is the building block of creating an installer database in WiX. Once defined, - the Fragment becomes an immutable, atomic unit which can either be completely included or excluded - from a product. The contents of a Fragment element can be linked into a product by utilizing one - of the many *Ref elements. When linking in a Fragment, it will be necessary to link in all of its - individual units. For instance, if a given Fragment contains two Component elements, you must link - both under features using ComponentRef for each linked Component. Otherwise, you will get a linker - warning and have a floating Component that does not appear under any Feature. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Optional identifier for a Fragment. Should only be set by advanced users to tag sections. - - - - - - - - - The Patch element is analogous to the main function in a C program. When linking, only one Patch section - can be given to the linker to produce a successful result. Using this element creates an MSP file. - - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - The ClientPatchId attribute allows you to specify an easily referenced identity that you can use in product authoring. This identity prefixes properties added by WiX to a patch transform, such as ClientPatchId.PatchCode and ClientPatchId.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix. - For example, if you were planning to ship a patch referred to as "QFE1" and needed to write your own registry values for Add/Remove Programs in product authoring such as the UninstallString for this patch, you could author a RegistryValue with the name UninstallString and the value [SystemFolder]msiexec.exe /package [ProductCode] /uninstall [QFE1.PatchCode]. In your patch authoring you would then set ClientPatchId to "QFE1" and WiX will add the QFE1.PatchCode property to the patch transform when the patch is created. If the Id attribute specified the patch code to be generated automatically, you could not reference the prefix.PatchCode property as shown above. - The summary information is automatically populated from attribute values of the Patch element including the code page. If you want to override some of these summary information properties or use a different code page for the summary information itself, author the PatchInformation element. - - - - - - - - - Optional element that allows overriding summary information properties. - - - - - - Indicates whether custom actions can be skipped when applying the patch. - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Patch code for this patch. - - - - - The code page integer value or web name for the resulting MSP. See remarks for more information. - - - - - Whether this is an uninstallable patch. - - - - - Category of updates. Recommended values are Critical Update, Hotfix, Security Rollup, Security Update, Service Pack, Update, Update Rollup. - - - - - An easily referenced identity unique to a patch that can be used in product authoring. See remarks for more information. - - - - - Flag used when creating a binary file patch. Default is "no". Don't use imagehlp.dll. - - - - - Flag used when creating a binary file patch. Default is "no". Don't fail patch due to imagehlp failures. - - - - - Flag used when creating a binary file patch. Default is "no". After matching decorated symbols, try to match remaining by undecorated names. - - - - - Description of the patch. - - - - - A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on. - - - - - Optional comments for browsing. - - - - - Vendor releasing the package - - - - - - Indicates that the patch targets the RTM version of the product or the most recent major - upgrade patch. Author this optional property in minor update patches that contain sequencing - information to indicate that the patch removes all patches up to the RTM version of the - product, or up to the most recent major upgrade patch. This property is available beginning - with Windows Installer 3.1. - - - - - - A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on. - - - - - - If this attribute is set to 'yes' in all the patches to be applied in a transaction, the - application of the patch is optimized if possible. Available beginning with Windows Installer 3.1. - - - - - - Name of the application or target product suite. - - - - - When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller. - - - - - - - Sets information in the patch transform that determines if the transform applies to an installed product and what errors should be ignored when applying the patch transform. - - - A transform contains the differences between the target product and the upgraded product. When a transform or a patch (which contains transforms) is applied, the following properties of the installed product are validated against the properties of the target product stored in a transform. - - ProductCode - ProductLanguage - ProductVersion - UpgradeCode - - Windows Installer simply validates that the ProductCode, ProductLanguage, and UpgradeCode of an installed product are equivalent to those propeties of the target product used to create the transform; however, the ProductVersion can be validated with a greater range of comparisons. - You can compare up to the first three fields of the ProductVersion. Changes to the fourth field are not validated and are useful for small updates. You can also choose how to compare the target ProductVersion used to create the transform with the installed ProductVersion. For example, while the default value of 'Equals' is recommended, if you wanted a minor upgrade patch to apply to the target ProductVersion and all older products with the same ProductCode, you would use 'LesserOrEqual'. - - - - - - - Requires that the installed ProductCode match the target ProductCode used to create the transform. The default is 'yes'. - - - - - Requires that the installed ProductLanguage match the target ProductLanguage used to create the transform. The default is 'no'. - - - - - Determines how many fields of the installed ProductVersion to compare. See remarks for more information. The default is 'Update'. - - - - - - Checks the major version. - - - - - Checks the major and minor versions. - - - - - Checks the major, minor, and update versions. - - - - - - - - Determines how the installed ProductVersion is compared to the target ProductVersion used to create the transform. See remarks for more information. The default is 'Equal'. - - - - - - Installed ProductVersion < target ProductVersion. - - - - - Installed ProductVersion <= target ProductVersion. - - - - - Installed ProductVersion = target ProductVersion. - - - - - Installed ProductVersion >= target ProductVersion. - - - - - Installed ProductVersion > target ProductVersion. - - - - - - - - Requires that the installed UpgradeCode match the target UpgradeCode used to create the transform. The default is 'yes'. - - - - - Ignore errors when adding existing rows. The default is 'yes'. - - - - - Ignore errors when adding existing tables. The default is 'yes'. - - - - - Ignore errors when deleting missing rows. The default is 'yes'. - - - - - Ignore errors when deleting missing tables. The default is 'yes'. - - - - - Ignore errors when updating missing rows. The default is 'yes'. - - - - - Ignore errors when changing the database code page. The default is 'no'. - - - - - - - Indicates whether custom actions can be skipped when applying the patch. - - - - - - - - Skip property (type 51) and directory (type 35) assignment custom actions. - - - - - Skip immediate custom actions that are not property or directory assignment custom actions. - - - - - Skip custom actions that run within the script. - - - - - - - Identifies a set of product versions. - - - - - - - - Identifier for a set of product versions. - - - - - - - Collection of items that should be kept from the differences between two products. - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Identifier which indicates a sequence family to which this patch belongs. - - - - - - Specifies the ProductCode of the product that this family applies to. - - - - - - Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK. - - - - - - Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. - The default value is 'no'. - - - - - - - - - Groups together multiple patch families to be used in other locations. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Identifier for the PatchFamilyGroup. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a PatchFamilyGroup in another Fragment. - - - - - - - - The identifier of the PatchFamilyGroup to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - The PatchCreation element is analogous to the main function in a C program. When linking, only one PatchCreation section - can be given to the linker to produce a successful result. Using this element creates a pcp file. - - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - - - - - - - - - - - - PatchCreation identifier; this is the primary key for identifying patches. - - - - - Use this to set whether the major versions between the upgrade and target images match. See AllowProductVersionMajorMismatches for more information. - - - - - Use this to set whether the product code between the upgrade and target images match. See AllowProductCodeMismatches for more information. - - - - - Use this to set whether Patchwiz should clean the temp folder when finished. See DontRemoveTempFolderWhenFinished for more information. - - - - - The code page integer value or web name for the resulting PCP. See remarks for more information. - - - - - The full path, including file name, of the patch package file that is to be generated. See PatchOutputPath for more information. - - - - - Used to locate the .msp file for the patch if the cached copy is unavailable. See PatchSourceList for more information. - - - - - An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See ApiPatchingSymbolFlags for more information. - - - - - Use this to set whether changing files should be included in their entirety. See IncludeWholeFilesOnly for more information. - - - - - - - Properties about the patch to be placed in the Summary Information Stream. These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer. - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - A short description of the patch that includes the name of the product. - - - - - - - - - - - - - - - - - - - The name of the manufacturer of the patch package. - - - - - A semicolon-delimited list of network or URL locations for alternate sources of the patch. The default is "Installer,Patching,PCP,Database". - - - - - General purpose of the patch package. For example, "This patch contains the logic and data required to install <product>." - - - - - - The value of this attribute conveys whether the package should be opened as read-only. - A database editing tool should not modify a read-only enforced database and should - issue a warning at attempts to modify a read-only recommended database. - - - - - - The code page integer value or web name for summary info strings only. The default is 1252. See remarks for more information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Properties about the patch to be placed in the PatchMetadata table. - - - - - - - - - - A custom property that extends the standard set. - - - - - Indicates whether custom actions can be skipped when applying the patch. - - - - - - - Whether this is an uninstallable patch. - - - - - Category of updates. Recommended values are Critical Update, Hotfix, Security Rollup, Security Update, Service Pack, Update, Update Rollup. - - - - - Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute). - - - - - Description of the patch. - - - - - A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on. - - - - - Name of the manufacturer. - - - - - - Indicates that the patch targets the RTM version of the product or the most recent major - upgrade patch. Author this optional property in minor update patches that contain sequencing - information to indicate that the patch removes all patches up to the RTM version of the - product, or up to the most recent major upgrade patch. This property is available beginning - with Windows Installer 3.1. - - - - - - A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on. - - - - - - If this attribute is set to 'yes' in all the patches to be applied in a transaction, the - application of the patch is optimized if possible. Available beginning with Windows Installer 3.1. - - - - - - Name of the application or target product suite. - - - - - - - A custom property for the PatchMetadata table. - - - - - The name of the company. - - - - - The name of the metadata property. - - - - - Value of the metadata property. - - - - - - - A patch that is deprecated by this patch. - - - - - Patch GUID to be unregistered if it exists on the machine targeted by this patch. - - - - - - - - The product codes for products that can accept the patch. - - - - - - - - - Whether to replace the product codes that can accept the patch from the target packages with the child elements. - - - - - - - - A product code for a product that can accept the patch. - - - - When using the PatchCreation element, if the Id attribute value is '*' or this element is not authored, the product codes of all products referenced by the TargetImages element are used. - When using the Patch element, the Id attribute value must not be '*'. Use the TargetProductCodes/@Replace attribute instead. - - - - - - - - The product code for a product that can accept the patch. This can be '*'. See remarks for more information. - - - - - - - - A property for this patch database. - - - - When authored under the Patch element, the PatchProperty defines entries in the MsiPatchMetadata table. - - - - - - - Name of the company for a custom metadata property. - - - - - Name of the patch property. - - - - - Value of the patch property. - - - - - - - Sequence information for this patch database. Sequence information is generated automatically in most cases, and rarely needs to be set explicitly. - - - - - - - - Identifier which indicates a sequence family to which this patch belongs. - - - - - - Specifies the ProductCode of the product that this family applies to. - This attribute cannot the specified if the TargetImage attribute is specified. - - - - - - Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK. - - - - - - Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. - The default value is 'no'. - - - - - - - - - - - - - - Specifies the TargetImage that this family applies to. - This attribute cannot the specified if the ProductCode attribute is specified. - - - - - - - - Group of one or more upgraded images of a product. - - - - - - - - - - - - Entered into the DiskId field of the new Media table record. - - - - - Value to display in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. - - - - - Entered into the Source field of the new Media table entry of the upgraded image. - - - - - Identifier for the family. - - - - - Sequence number for the starting file. - - - - - Entered into the VolumeLabel field of the new Media table record. - - - - - - - Contains information about the upgraded images of the product. - - - - - - - - - - - - Identifier to connect target images with upgraded image. - - - - - Full path to location of msi file for upgraded image. - - - - - - - - - - - - Modified copy of the upgraded installation database that contains additional authoring specific to patching. - - - - - - - - - - - - - - Contains information about the target images of the product. - - - - - - - - - Identifier for the target image. - - - - - Full path to the location of the msi file for the target image. - - - - - - - - - - - - Relative order of the target image. - - - - - Product checking to avoid applying irrelevant transforms. - - - - - Files missing from the target image are ignored by the installer. - - - - - - - Information about specific files in a target image. - - - - - - - - - - - - Foreign key into the File table. - - - - - - - Specifies part of a file that is to be ignored during patching. - - - - - Offset of the start of the range. - - - - - Length of the range. - - - - - - - Specifies part of a file that cannot be overwritten during patching. - - - - - Offset of the start of the range. - - - - - Length of the range. - - - - - - - Specifies a file to be protected. - - - - - - - - Foreign key into the File table. - - - - - - - Contains information about specific files that are not part of a regular target image. - - - - - - - - - - - - Foreign key into the File table. - - - - - Full path of the external file. - - - - - - - - - - - - Specifies the order of the external files to use when creating the patch. - - - - - - - Specifies files to either ignore or to specify optional data about a file. - - - - - - - - Foreign key into the File table. - - - - - If yes, the file is ignored during patching, and the next two attributes are ignored. - - - - - Specifies whether patching this file is vital. - - - - - Whether the whole file should be installed, rather than creating a binary patch. - - - - - - - A path to symbols. - - - - - The path. - - - - - - - - Properties about the package to be placed in the Summary Information Stream. These are - visible from COM through the IStream interface, and these properties can be seen on the package in Explorer. - - - - You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. - - - - - - - - The package code GUID for a product or merge module. - When compiling a product, this attribute should not be set in order to allow the package - code to be generated for each build. - When compiling a merge module, this attribute must be set to the modularization guid. - - - - - - Set to 'yes' if the source is an admin image. - - - - - Optional comments for browsing. - - - - - - Set to 'yes' to have compressed files in the source. - This attribute cannot be set for merge modules. - - - - - - The product full name or description. - - - - - Use this attribute to specify the priviliges required to install the package on Windows Vista and above. - - - - - - - Set this value to declare that the package does not require elevated privileges to install. - - - - - - - Set this value to declare that the package requires elevated privileges to install. - This is the default value. - - - - - - - - - Use this attribute to specify the installation scope of this package: per-machine or per-user. - - - - - - - Set this value to declare that the package is a per-machine installation and requires elevated privileges to install. - Sets the ALLUSERS property to 1. - - - - - - - Set this value to declare that the package is a per-user installation and does not require elevated privileges to install. - Sets the package's InstallPrivileges attribute to "limited." - - - - - - - - - - The minimum version of the Windows Installer required to install this package. Take the major version of the required Windows Installer - and multiply by a 100 then add the minor version of the Windows Installer. For example, "200" would represent Windows Installer 2.0 and - "405" would represent Windows Installer 4.5. For 64-bit Windows Installer packages, this property is set to 200 by default as - Windows Installer 2.0 was the first version to support 64-bit packages. - - - - - - Optional keywords for browsing. - - - - - The list of language IDs (LCIDs) supported in the package. - - - - - The vendor releasing the package. - - - - - - The list of platforms supported by the package. This attribute has been deprecated. - Specify the -arch switch at the candle.exe command line or the InstallerPlatform - property in a .wixproj MSBuild project. - - - - - - - The platform supported by the package. Use of this attribute is discouraged; instead, - specify the -arch switch at the candle.exe command line or the InstallerPlatform - property in a .wixproj MSBuild project. - - - - - - - - Set this value to declare that the package is an x86 package. - - - - - - - Set this value to declare that the package is an ia64 package. - This value requires that the InstallerVersion property be set to 200 or greater. - - - - - - - Set this value to declare that the package is an x64 package. - This value requires that the InstallerVersion property be set to 200 or greater. - - - - - - - Set this value to declare that the package is an arm package. - This value requires that the InstallerVersion property be set to 500 or greater. - - - - - - - This value has been deprecated. Use "x86" instead. - - - - - - - This value has been deprecated. Use "ia64" instead. - - - - - - - - - - The value of this attribute conveys whether the package should be opened as read-only. - A database editing tool should not modify a read-only enforced database and should - issue a warning at attempts to modify a read-only recommended database. - - - - - - Set to 'yes' to have short filenames in the source. - - - - - The code page integer value or web name for summary info strings only. See remarks for more information. - - - - - - - - The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly. - Consider using the Assembly attribute on File element to have the toolset populate these entries automatically. - - - - - - - - - Name of the attribute associated with the value specified in the Value column. - - - - - Value associated with the name specified in the Name column. - - - - - - - - Identifies the possible signer certificates used to digitally sign patches. - - - - - - - - - - - - - - - Digital signatures that identify installation packages in a multi-product transaction. - - - - - - - - - - - - - - - Adds a digital certificate. - - - - - - - - - Identifier for a certificate file. - - - - - The path to the certificate file. - - - - - - - - Reference to a DigitalCertificate element. This will force the entire referenced Fragment's contents - to be included in the installer database. This is only used for references when patching. - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Adds a digital signature. - - - - - - - - - - - - The path to signature's optional hash file. - - - - - - - - Adds a system file protection update catalog file - - - - - - - - - - - Primary Key to File Table. - - - - - - Filename for catalog file when installed. - - - - - Used to define dependency outside of the package. - - - - - Path to catalog file in binary. - - - - - - - - Provides a many-to-many mapping from the SFPCatalog table to the File table - - - - - - - - - Primary Key to File Table. - - - - - - - - Adds or removes .ini file entries. - - - - - - - - - - Identifier for ini file. - - - - - The type of modification to be made. - - - - - - Creates or updates an .ini entry. - - - - - Creates a new entry or appends a new comma-separated value to an existing entry. - - - - - Creates an .ini entry only if the entry does no already exist. - - - - - Removes an .ini entry. - - - - - Removes a tag from an .ini entry. - - - - - - - - Name of a property, the value of which is the full path of the folder containing the .ini file. Can be name of a directory in the Directory table, a property set by the AppSearch table, or any other property representing a full path. - - - - - The localizable .ini file key within the section. - - - - - - In prior versions of the WiX toolset, this attribute specified the short name. - This attribute's value may now be either a short or long name. - If a short name is specified, the ShortName attribute may not be specified. - Also, if this value is a long name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short name. - However, if this name collides with another file or you wish to manually specify - the short name, then the ShortName attribute may be specified. - - - - - - The localizable .ini file section. - - - - - - The short name of the in 8.3 format. - This attribute should only be set if there is a conflict between generated short names - or the user wants to manually specify the short name. - - - - - - - The localizable value to be written or deleted. This attribute must be set if - the Action attribute's value is "addLine", "addTag", or "createLine". - - - - - - - - - ODBCDataSource for a Component - - - - - - - - - - Translates into ODBCSourceAttributes - - - - - - Identifier of the data source. - - - - - Name for the data source. - - - - - Required if not found as child of ODBCDriver element - - - - - Scope for which the data source should be registered. - - - - - - - Data source is registered per machine. - - - - - - - Data source is registered per user. - - - - - - - - - Set 'yes' to force this file to be key path for parent Component - - - - - - - - ODBCDriver for a Component - - - - - - - - - - Translates into ODBCSourceAttributes - - - - - - - Identifier for the driver. - - - - - Name for the driver. - - - - - Required if not found as child of File element - - - - - Required if not found as child of File element or different from File attribute above - - - - - - - - ODBCTranslator for a Component - - - - - - - - - Identifier for the translator. - - - - - Name for the translator. - - - - - Required if not found as child of File element - - - - - Required if not found as child of File element or different from File attribute above - - - - - - - - - - - - - - - - How To: Check the version number of a file during installation - - When the parent DirectorySearch/@Depth attribute is greater than 0, the FileSearch/@Id attribute must be absent or the same as the parent DirectorySearch/@Id attribute value, unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'. - - - Searches for file and assigns to fullpath value of parent Property - - - - - Unique identifier for the file search and external key into the Signature table. If this attribute value is not set then the parent element's @Id attribute is used. - - - - - - In prior versions of the WiX toolset, this attribute specified the short file name. - This attribute's value may now be either a short or long file name. - If a short file name is specified, the ShortName attribute may not be specified. - If you wish to manually specify the short file name, then the ShortName - attribute may be specified. - - - - - - - The short file name of the file in 8.3 format. - There is a Windows Installer bug which prevents the FileSearch functionality from working - if both a short and long file name are specified. Since the Name attribute allows either - a short or long name to be specified, it is the only attribute related to file names which - should be specified. - - - - - - The minimum size of the file. - - - - - The maximum size of the file. - - - - - The minimum version of the file. - - - - - The maximum version of the file. - - - - - The minimum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second. - - - - - The maximum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second. - - - - - The languages supported by the file. - - - - - - - - - - A reference to another FileSearch element must reference the same Id and the same Parent Id. If any of these attribute values are different you must instead use a FileSearch element. - - - References an existing FileSearch element. - - - - - Specify the Id to the FileSearch to reference. - - - - - - - - - - - - - How To: Check the version number of a file during installation - How To: Reference another DirectorySearch element - How To: Get the parent directory of a file search - - Use the AssignToProperty attribute to search for a file but set the outer property to the directory containing the file. When this attribute is set to 'yes', you may only nest a FileSearch element with a unique Id or define no child element. - When the parent DirectorySearch/@Depth attribute is greater than 0, the FileSearch/@Id attribute must be absent or the same as the parent DirectorySearch/@Id attribute value, unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'. - - - Searches for directory and assigns to value of parent Property. - - - - - - - - - - - Unique identifier for the directory search. - - - - - Path on the user's system. Either absolute, or relative to containing directories. - - - - - - Depth below the path that the installer searches for the file or directory specified by the search. See remarks for more information. - - - - - - Set the value of the outer Property to the result of this search. See remarks for more information. - - - - - - - - - - - How To: Reference another DirectorySearch element - - A reference to another DirectorySearch element must reference the same Id, the same Parent Id, and the same Path. If any of these attribute values are different you must instead use a DirectorySearch element. - - - References an existing DirectorySearch element. - - - - - - - - - - - Id of the search being referred to. - - - - - This attribute is the signature of the parent directory of the file or directory in the Signature_ column. If this field is null, and the Path column does not expand to a full path, then all the fixed drives of the user's system are searched by using the Path. This field is a key into one of the following tables: the RegLocator, the IniLocator, the CompLocator, or the DrLocator tables. - - - - - Path on the user's system. Either absolute, or relative to containing directories. - - - - - - - - - - - - - Searches for file or directory and assigns to value of parent Property. - - - - - - - - - - - - The component ID of the component whose key path is to be used for the search. - - - - - Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. - - - - - - - The key path of the component is a directory. - - - - - - - The key path of the component is a file. This is the default value. - - - - - - - - - - - - - - - - - Searches for file, directory or registry key and assigns to value of parent Property - - - - - - - - - - - External key into the Signature table. - - - - - The field in the .ini line. If field is Null or 0, the entire line is read. - - - - - The key value within the section. - - - - - - In prior versions of the WiX toolset, this attribute specified the short name. - This attribute's value may now be either a short or long name. - If a short name is specified, the ShortName attribute may not be specified. - Also, if this value is a long name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short name. - However, if you wish to manually specify the short name, then the ShortName - attribute may be specified. - - - - - - The localizable .ini file section. - - - - - - The short name of the file in 8.3 format. - This attribute should only be set if the user wants to manually specify the short name. - - - - - - Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. - - - - - - A directory location. - - - - - A file location. This is the default value. - - - - - A raw .ini value. - - - - - - - - - - - - - - - How To: Read a registry entry during installation - - - When the Type attribute value is 'directory' the registry value must specify the path to a directory excluding the file name. - When the Type attribute value is 'file' the registry value must specify the path to a file including the file name; - however, if there is no child FileSearch element the parent directory of the file is returned. The FileSearch element requires - that you author the name of the file you are searching for. If you do not know the file name - you must set the Type attribute to 'raw' to return the full file path including the file name. - - - - Searches for file, directory or registry key and assigns to value of parent Property - - - - - - - - - - - Signature to be used for the file, directory or registry key being searched for. - - - - - Root key for the registry value. - - - - - - - HKEY_CLASSES_ROOT - - - - - - - HKEY_CURRENT_USER - - - - - - - HKEY_LOCAL_MACHINE - - - - - - - HKEY_USERS - - - - - - - - - Key for the registry value. - - - - - Registry value name. If this value is null, then the value from the key's unnamed or default value, if any, is retrieved. - - - - - - The value must be 'file' if the child is a FileSearch element, and must be 'directory' if child is a DirectorySearch element. - - - - - - - - The registry value contains the path to a directory. - - - - - - - The registry value contains the path to a file. To return the full file path you must add a FileSearch element as a child of this element; otherwise, the parent directory of the file path is returned. - - - - - - - Sets the raw value from the registry value. Please note that this value will contain a prefix as follows:DWORDStarts with '#' optionally followed by '+' or '-'.REG_BINARYStarts with '#x' and the installer converts and saves each hexadecimal digit (nibble) as an ASCII character prefixed by '#x'.REG_EXPAND_SZStarts with '#%'.REG_MULTI_SZStarts with '[~]' and ends with '[~]'.REG_SZNo prefix, but if the first character of the registry value is '#', the installer escapes the character by prefixing it with another '#'. - - - - - - - - Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. - The default value is based on the platform set by the -arch switch to candle.exe - or the InstallerPlatform property in a .wixproj MSBuild project: - For x86 and ARM, the default value is 'no'. - For x64 and IA64, the default value is 'yes'. - - - - - - - - - - - References an existing RegistrySearch element. - - - - - Specify the Id of the RegistrySearch to reference. - - - - - - - Sets the parent of a nested DirectorySearch element to CCP_DRIVE. - - - - - - - - - - - - - - - - Adds a row to the CCPSearch table. - - - - - - - Starts searches from the CCP_DRIVE. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - How To: Check the version number of a file during installation - - Property value for a Product or Module. - - - - - - - Starts searches from the CCP_DRIVE. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Unique identifier for Property. - - - - - Sets a default value for the property. The value will be overwritten if the Property is used for a search. - - - - - Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element. - - - - - Denotes that the Property is saved during admininistrative installation. See the AdminProperties Property for more information. - - - - - Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. See the SecureCustomProperties Property for more information. - - - - - Denotes that the Property is not logged during installation. See the MsiHiddenProperties Property for more information. - - - - - - Use to suppress modularization of this property identifier in merge modules. - Using this functionality is strongly discouraged; it should only be - necessary as a workaround of last resort in rare scenarios. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - How To: Check for .NET Framework versions - - Reference to a Property value. - - - - - Identifier of Property to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Shortcut, default target is parent File, CreateFolder, or Component's Directory - - - - How To: Create a shortcut on the Start Menu - - - - - - - - - - Unique identifier for the shortcut. This value will serve as the primary key for the row. - - - - - Identifier reference to Directory element where shortcut is to be created. When nested under a Component element, this attribute's value will default to the parent directory. Otherwise, this attribute is required. - - - - - - In prior versions of the WiX toolset, this attribute specified the short name. - This attribute's value may now be either a short or long name. - If a short name is specified, the ShortName attribute may not be specified. - Also, if this value is a long name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short name. - However, if this name collides with another shortcut or you wish to manually specify - the short name, then the ShortName attribute may be specified. - - - - - - - The short name of the shortcut in 8.3 format. - This attribute should only be set if there is a conflict between generated short names - or the user wants to manually specify the short name. - - - - - - - This attribute can only be set if this Shortcut element is nested under a Component element. - When nested under a Component element, this attribute's value will default to the parent directory. - This attribute's value is the target for a non-advertised shortcut. - This attribute is not valid for advertised shortcuts. - If you specify this value, its value should be a property identifier enclosed by square brackets ([ ]), that is expanded into the file or a folder pointed to by the shortcut. - - - - - - The localizable description for the shortcut. - - - - - The command-line arguments for the shortcut. Note that the resolution of properties - in the Arguments field is limited. A property formatted as [Property] in this field can only be resolved if the - property already has the intended value when the component owning the shortcut is installed. For example, for the - argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and - the component that owns the shortcut. - - - - - The hotkey for the shortcut. The low-order byte contains the virtual-key code for - the key, and the high-order byte contains modifier flags. This must be a non-negative number. Authors of - installation packages are generally recommend not to set this option, because this can add duplicate hotkeys to a - users desktop. In addition, the practice of assigning hotkeys to shortcuts can be problematic for users using hotkeys - for accessibility. - - - - - Identifier reference to Icon element. The Icon identifier should have the same extension - as the file that it points at. For example, a shortcut to an executable (e.g. "my.exe") should reference an Icon with identifier - like "MyIcon.exe" - - - - - Identifier reference to Icon element. - - - - - - - - - The shortcut target will be displayed using the SW_SHOWNORMAL attribute. - - - - - - - The shortcut target will be displayed using the SW_SHOWMINNOACTIVE attribute. - - - - - - - The shortcut target will be displayed using the SW_SHOWMAXIMIZED attribute. - - - - - - - - - Directory identifier (or Property identifier that resolves to a directory) that resolves - to the path of the working directory for the shortcut. - - - - - Specifies if the shortcut should be advertised or not. Note that advertised shortcuts - always point at a particular application, identified by a ProductCode, and should not be shared between applications. - Advertised shortcuts only work for the most recently installed application, and are removed when that application is - removed. The default value is 'no'. - - - - - - The Formatted string providing the full path to the language neutral file containing the MUI Manifest. Generally - authored using [#filekey] form. When this attribute is specified, the DisplayResourceId attribute must also - be provided. - - This attribute is only used on Windows Vista and above. If this attribute is not populated and the install - is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and - the install is running on Vista and above, the value in the Name attribute is ignored. - - - - - - - The display name index for the shortcut. This must be a non-negative number. When this attribute is specified, the - DisplayResourceDll attribute must also be provided. - - This attribute is only used on Windows Vista and above. If this attribute is not specified and the install - is running on Vista and above, the value in the Name attribute is used. If this attribute is specified and - the install is running on Vista and above, the value in the Name attribute is ignored. - - - - - - - The Formatted string providing the full path to the language neutral file containing the MUI Manifest. Generally - authored using [#filekey] form. When this attribute is specified, the DescriptionResourceId attribute must also - be provided. - - This attribute is only used on Windows Vista and above. If this attribute is not specified and the install - is running on Vista and above, the value in the Name attribute is used. If this attribute is provided and - the install is running on Vista and above, the value in the Name attribute is ignored. - - - - - - - The description name index for the shortcut. This must be a non-negative number. When this attribute is specified, - the DescriptionResourceDll attribute must also be populated. - - This attribute is only used on Windows Vista and above. If this attribute is not specified and the install - is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and the - install is running on Vista and above, the value in the Name attribute is ignored. - - - - - - - - - - - - Property values for a shortcut. This element's functionality is available starting with MSI 5.0. - - - - - Unique identifier for MsiShortcutProperty table. If omitted, a stable identifier will be generated from the parent shortcut identifier and Key value. - - - - - A formatted string identifying the property to be set. - - - - - A formatted string supplying the value of the property. - - - - - - - - Sets ACLs on File, Registry, or CreateFolder. When under a Registry element, this cannot be used - if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute. - The table and key are taken from the parent element. - - - - - - - - - - - - - - - - - Bit mask for SPECIFIC_RIGHTS_ALL from WinNT.h (0x0000FFFF). - - - - - - - - - - - - For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. - - - - - For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. - - - - - - - - Bit mask for FILE_ALL_ACCESS from WinNT.h (0x001F01FF). - - - - - - - - - - - - - - - - specifying this will fail to grant read access - - - - - - - - Sets ACLs on File, Registry, or CreateFolder. When under a Registry element, this cannot be used - if the Action attribute's value is remove or removeKeyOnInstall. This element is only available - when installing with MSI 5.0. For downlevel support, see the PermissionEx element from the - WixUtilExtension. - - - - - - - - - - - Optional condition that controls whether the permissions are applied. - - - - - - - - Primary key used to identify this particular entry. If this is not specified the parent element's Id attribute - will be used instead. - - - - - - - Security descriptor to apply to parent object. - - - - - - - - - - - - - - Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. When - this element is nested under a File element, the parent file will be installed, then copied to the specified destination - if the parent component of the file is selected for installation or removal. When this element is nested under - a Component element and no FileId attribute is specified, the file to copy or move must already be on the target machine. - When this element is nested under a Component element and the FileId attribute is specified, the specified file is installed, - then copied to the specified destination if the parent component is selected for installation or removal (use - this option to control the copy of a file in a different component by the parent component's installation state). If the - specified destination directory is the same as the directory containing the original file and the name for the proposed source - file is the same as the original, then no action takes place. - - - - - - Primary key used to identify this particular entry. - - - - - - This attribute cannot be specified if the element is nested under a File element. Set this attribute's value to the identifier - of a file from a different component to copy it based on the install state of the parent component. - - - - - - - This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set - this value to the source directory from which to copy or move an existing file on the target machine. This Directory must - exist in the installer database at creation time. This attribute cannot be specified in conjunction with SourceProperty. - - - - - - - This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set - this value to a property that will have a value that resolves to the full path of the source directory (or full path - including file name if SourceName is not specified). The property does not have to exist in the installer database at - creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute - cannot be specified in conjunction with SourceDirectory. - - - - - - - This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set - this value to the localizable name of the file(s) to be copied or moved. All of the files that - match the wild card will be removed from the specified directory. The value is a filename that may also - contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. If this - attribute is not specified (and this element is not nested under a File element or specify a FileId attribute) then the - SourceProperty attribute should be set to the name of a property that will resolve to the full path of the source filename. - If the value of this attribute contains a "*" wildcard and the DestinationName attribute is specified, all moved or copied - files retain the file names from their sources. - - - - - - - Set this value to the destination directory where an existing file on the target machine should be moved or copied to. This - Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with - DestinationProperty. - - - - - - - Set this value to a property that will have a value that resolves to the full path of the destination directory. The property - does not have to exist in the installer database at creation time; it could be created at installation time by a custom - action, on the command line, etc. This attribute cannot be specified in conjunction with DestinationDirectory. - - - - - - - In prior versions of the WiX toolset, this attribute specified the short file name. - Now set this value to the localizable name to be given to the original file after it is moved or copied. - If this attribute is not specified, then the destination file is given the same name as the source file. - If a short file name is specified, the DestinationShortName attribute may not be specified. - Also, if this value is a long file name, the DestinationShortName attribute may be omitted to - allow WiX to attempt to generate a unique short file name. - However, if this name collides with another file or you wish to manually specify - the short file name, then the DestinationShortName attribute may be specified. - - - - - - - The short file name of the file in 8.3 format. - This attribute should only be set if there is a conflict between generated short file names - or you wish to manually specify the short file name. - - - - - - - This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. In other - cases, if the attribute is not specified, the default value is "no" and the file is copied, not moved. Set the value to "yes" - in order to move the file (thus deleting the source file) instead of copying it. - - - - - - - - - File specification for File table, must be child node of Component. - - - - How To: Add a file to your installer - - - - - - - - Used to configure the ACLs for this file. - - - - - Can also configure the ACLs for this file. - - - - - Used to create a duplicate of this file elsewhere. - - - - - Target of the shortcut will be set to this file. - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - The unique identifier for this File element. If you omit Id, it defaults to the file name portion of the Source attribute, if specified. May be referenced as a Property by specifying [#value]. - - - - - - Set this attribute to make this file a companion child of another file. The installation - state of a companion file depends not on its own file versioning information, but on the versioning of its - companion parent. A file that is the key path for its component can not be a companion file (that means - this attribute cannot be set if KeyPath="yes" for this file). The Version attribute cannot be set along - with this attribute since companion files are not installed based on their own version. - - - - - - In prior versions of the WiX toolset, this attribute specified the short file name. - This attribute's value may now be either a short or long file name. - If a short file name is specified, the ShortName attribute may not be specified. - Also, if this value is a long file name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short file name. - However, if this name collides with another file or you wish to manually specify - the short file name, then the ShortName attribute may be specified. - Finally, if this attribute is omitted then its default value is the file name portion - of the Source attribute, if one is specified, or the value of the Id attribute, if - the Source attribute is omitted or doesn't contain a file name. - - - - - - Set to yes in order to force this file to be the key path for the parent component. - - - - - - The short file name of the file in 8.3 format. - This attribute should only be set if there is a conflict between generated short file names - or the user wants to manually specify the short file name. - - - - - - - Set to yes in order to have the file's read-only attribute set when it is installed on the target machine. - - - - - Set to yes in order to have the file's hidden attribute set when it is installed on the target machine. - - - - - Set to yes in order to have the file's system attribute set when it is installed on the target machine. - - - - - If a file is vital, then installation cannot proceed unless the file is successfully installed. The user will have no option to ignore an error installing this file. If an error occurs, they can merely retry to install the file or abort the installation. The default is "yes," unless the -sfdvital switch (candle.exe) or SuppressFileDefaultVital property (.wixproj) is used. - - - - - This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header. Only those files that have this attribute set will be verified for valid checksum during a reinstall. - - - - - Sets the file's source type compression. A setting of "yes" or "no" will override the setting in the Word Count Summary Property. - - - - - A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. The list is usually a list of properties, with each property enclosed inside square brackets. The value may be set to an empty string. Including this attribute will cause an entry to be generated for the file in the BindImage table. - - - - - The cost of registering the file in bytes. This must be a non-negative number. Including this attribute will cause an entry to be generated for the file in the SelfReg table. - - - - - Causes an entry to be generated for the file in the Font table with no FontTitle specified. This attribute is intended to be used to register the file as a TrueType font. - - - - - Causes an entry to be generated for the file in the Font table with the specified FontTitle. This attribute is intended to be used to register the file as a non-TrueType font. - - - - - This is the default language of this file. The linker will replace this value from the value in the file if the suppress files option is not used. - - - - - This is the default size of this file. The linker will replace this value from the value in the file if the suppress files option is not used. - - - - - This is the default version of this file. The linker will replace this value from the value in the file if the suppress files option is not used. - - - - - - - Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the - Global Assembly Cache (GAC). If the value is '.net' or 'win32', this file must also be the key path of the Component. - - - - - - - - The file is a .NET Framework assembly. - - - - - - - The file is not a .NET Framework or Win32 assembly. This is the default value. - - - - - - - The file is a Win32 assembly. - - - - - - - - - - Specifies the file identifier of the manifest file that describes this assembly. - The manifest file should be in the same component as the assembly it describes. - This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'. - - - - - - - Specifies the file identifier of the application file. This assembly will be isolated - to the same directory as the application file. - If this attribute is absent, the assembly will be installed to the Global Assembly Cache (GAC). - This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'. - - - - - - Specifies the architecture for this assembly. This attribute should only be used on .NET Framework 2.0 or higher assemblies. - - - - - - - The file is a .NET Framework assembly that is processor-neutral. - - - - - - - The file is a .NET Framework assembly for the x86 processor. - - - - - - - The file is a .NET Framework assembly for the x64 processor. - - - - - - - The file is a .NET Framework assembly for the ia64 processor. - - - - - - - - - - The value of this attribute should correspond to the Id attribute of a Media - element authored elsewhere. By creating this connection between a file and - its media, you set the packaging options to the values specified in the Media - element (values such as compression level, cab embedding, etc...). Specifying - the DiskId attribute on the File element overrides the default DiskId attribute - from the parent Component element. If no DiskId attribute is specified, - the default is "1". This DiskId attribute is ignored when creating a merge module - because merge modules do not have media. - - - - - - Specifies the path to the File in the build process. Overrides default source path set by parent directories and Name attribute. This attribute must be set if no source information can be gathered from parent directories. For more information, see Specifying source files. - - - - - - - - - - - - - This attribute must be set for patch-added files. Each patch should be assigned a different patch group number. Patch groups - numbers must be greater 0 and should be assigned consecutively. For example, the first patch should use PatchGroup='1', the - second patch will have PatchGroup='2', etc... - - - - - - Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images. - - - - - Set to indicate that the patch is non-vital. - - - - - Set if the entire file should be installed rather than creating a binary patch. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Use several of these elements to specify each registry value in a multiString registry value. This element - cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The - values should go in the text area of the MultiStringValue element. - - - - - - - - - - Used for organization of child RegistryValue elements or to create a registry key - (and optionally remove it during uninstallation). - - - - How To: Read a registry entry during installation - How To: Write a registry entry during installation - - - - - - - - - ACL permission - - - - - Can also configure the ACLs for this registry key. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - The Action attribute has been deprecated. In most cases, you can simply omit @Action. If you need to force Windows Installer - to create an empty key or recursively delete the key, use the ForceCreateOnInstall or ForceDeleteOnUninstall attributes instead. - - - - - - - - Creates the key, if absent, when the parent component is installed. - - - - - - - Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled. - Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already - removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. - - - - - - - Does nothing; this element is used merely in WiX authoring for organization and does nothing to the final output. - This is the default value. - - - - - - - - - - Set this attribute to 'yes' to create an empty key, if absent, when the parent component is installed. - This value is needed only to create an empty key with no subkeys or values. Windows Installer creates - keys as needed to store subkeys and values. The default is "no". - - - - - - - Set this attribute to 'yes' to remove the key with all its values and subkeys when the parent component is uninstalled. - Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already - removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. - The default is "no". - - - - - - - The localizable key for the registry value. - If the parent element is a RegistryKey, this value may be omitted to use the - path of the parent, or if its specified it will be appended to the path of the parent. - - - - - - - The predefined root key for the registry value. - - - - - - - - - Used to create a registry value. For multi-string values, this can be used to prepend or append values. - - For legacy authoring: Use several of these elements to specify each registry value in a multiString registry value. This element - cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The - values should go in the text area of the RegistryValue element. - - - - How To: Write a registry entry during installation - - - - - - - - Can also configure the ACLs for this registry value. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - The predefined root key for the registry value. - - - - - - - The localizable key for the registry value. - If the parent element is a RegistryKey, this value may be omitted to use the - path of the parent, or if its specified it will be appended to the path of the parent. - - - - - - - The localizable registry value name. If this attribute is not provided the default value for the registry key will - be set instead. The Windows Installer allows several special values to be set for this attribute. You should not - use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. - - - - - - - Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows - several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate - values in the Type attribute to get the desired behavior. - - - - - - - - Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value - attribute or a child RegistryValue element is specified. This attribute - should only be set when the value of the Action attribute does not include the word 'remove'. - - - - - - - - The value is interpreted and stored as a string (REG_SZ). - - - - - - - The value is interpreted and stored as an integer (REG_DWORD). - - - - - - - The value is interpreted and stored as a hexadecimal value (REG_BINARY). - - - - - - - The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). - - - - - - - The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). - Please note that this value will only result in a multi-string value if there is more than one registry value - or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created. - - - - - - - - - - This is the action that will be taken for this registry value. - - - - - - - - Appends the specified value(s) to a multiString registry value. - - - - - - - Prepends the specified value(s) to a multiString registry value. - - - - - - - Writes a registry value. This is the default value. - - - - - - - - - - Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. - Only one resource (registry, file, etc) can be the KeyPath of a component. - - - - - - - - - Used for removing registry keys and all child keys either during install or uninstall. - - - - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - This is the action that will be taken for this registry value. - - - - - - - - Removes a key with all its values and subkeys when the parent component is installed. - - - - - - - Removes a key with all its values and subkeys when the parent component is uninstalled. - - - - - - - - - - The localizable key for the registry value. - - - - - - - The predefined root key for the registry value. - - - - - - - - - Used to remove a registry value during installation. - There is no standard way to remove a single registry value during uninstall (but you can remove an entire key with RemoveRegistryKey). - - - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - The localizable key for the registry value. - If the parent element is a RegistryKey, this value may be omitted to use the - path of the parent, or if its specified it will be appended to the path of the parent. - - - - - - - The localizable registry value name. If this attribute is not provided the default value for the registry key will - be set instead. The Windows Installer allows several special values to be set for this attribute. You should not - use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. - - - - - - - The predefined root key for the registry value. - - - - - - - - - - - - - - - - - - Can also configure the ACLs for this registry key. - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be - generated by hashing the parent Component identifier, Root, Key, and Name. - - - - - - - This is the action that will be taken for this registry key. - - - - - - - - Appends the specified value(s) to a multiString registry key. - - - - - - - Creates the key, if absent, when the parent component is installed. - - - - - - - Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled. - - - - - - - Prepends the specified value(s) to a multiString registry key. - - - - - - - Removes a registry name when the parent component is installed. - - - - - - - Removes a key with all its values and subkeys when the parent component is installed. - - - - - - - Removes a key with all its values and subkeys when the parent component is uninstalled. - - - - - - - Writes a registry value. - - - - - - - - - The localizable key for the registry value. - - - - - - Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. Only one resource (registry, - file, etc) can be the KeyPath of a component. - - - - - - - The localizable registry value name. If this attribute is not provided the default value for the registry key will - be set instead. The Windows Installer allows several special values to be set for this attribute. You should not - use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. - - - - - - - The predefined root key for the registry value. - - - - - - - Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value - attribute or a child RegistryValue element is specified. This attribute - should only be set when the value of the Action attribute does not include the word 'remove'. - - - - - - - - The value is interpreted and stored as a string (REG_SZ). - - - - - - - The value is interpreted and stored as an integer (REG_DWORD). - - - - - - - The value is interpreted and stored as a hexadecimal value (REG_BINARY). - - - - - - - The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). - - - - - - - The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). - Please note that this value will only result in a multi-string value if there is more than one registry value - or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created. - - - - - - - - - - Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows - several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate - values in the Type attribute to get the desired behavior. This attribute cannot be specified if the Action - attribute's value contains the word 'remove'. - - - - - - - - - - - - - Remove a file(s) if the parent component is selected for installation or removal. Multiple files can be removed - by specifying a wildcard for the value of the Name attribute. By default, the source - directory of the file is the directory of the parent component. This can be overridden by specifying the - Directory attribute with a value corresponding to the Id of the source directory, or by specifying the Property - attribute with a value corresponding to a property that will have a value that resolves to the full path - to the source directory. - - - - - - Primary key used to identify this particular entry. - - - - - - Overrides the directory of the parent component with a specific Directory. This Directory must exist in the - installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute. - - - - - - - Overrides the directory of the parent component with the value of the specified property. The property - should have a value that resolves to the full path of the source directory. The property does not have - to exist in the installer database at creation time; it could be created at installation time by a custom - action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute. - - - - - - - This value should be set to the localizable name of the file(s) to be removed. All of the files that - match the wild card will be removed from the specified directory. The value is a filename that may also - contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. - In prior versions of the WiX toolset, this attribute specified the short file name. - This attribute's value may now be either a short or long file name. - If a short file name is specified, the ShortName attribute may not be specified. - Also, if this value is a long file name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short file name. - However, if you wish to manually specify the short file name, then the ShortName attribute may be specified. - - - - - - - The short file name of the file in 8.3 format. - This attribute should only be set if you want to manually specify the short file name. - - - - - - - This value determines the time at which the file(s) may be removed. For 'install', the file will - be removed only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the file will be removed only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the file will be removed in both cases. - - - - - - - - - - - - - Remove an empty folder if the parent component is selected for installation or removal. By default, the folder - is the directory of the parent component. This can be overridden by specifying the Directory attribute - with a value corresponding to the Id of the directory, or by specifying the Property attribute with a value - corresponding to a property that will have a value that resolves to the full path of the folder. - - - - - - Primary key used to identify this particular entry. - - - - - - Overrides the directory of the parent component with a specific Directory. This Directory must exist in the - installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute. - - - - - - - Overrides the directory of the parent component with the value of the specified property. The property - should have a value that resolves to the full path of the source directory. The property does not have - to exist in the installer database at creation time; it could be created at installation time by a custom - action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute. - - - - - - - This value determines the time at which the folder may be removed, based on the install/uninstall of the parent component. - For 'install', the folder will be removed only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the folder will be removed only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the folder will be removed in both cases. - - - - - - - - - - - - Create folder as part of parent Component. - - - - - - Non-advertised shortcut to this folder, Shortcut Target is preset to the folder - - - - - ACL permission - - - - - Can also configure the ACLs for this folder. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Identifier of Directory to create. Defaults to Directory of parent Component. - - - - - - - Optional way for defining AppData, generally used for complex CDATA. - - - - - - Qualified published component for parent Component - - - - - - - - - - - - A string GUID that represents the category of components being grouped together. - - - - - A text string that qualifies the value in the Id attribute. A qualifier is used to distinguish multiple forms of the same Component, such as a Component that is implemented in multiple languages. - - - - - An optional localizable text describing the category. The string is commonly parsed by the application and can be displayed to the user. It should describe the category. - - - - - Feature that controls the advertisement of the category. Defaults to the primary Feature for the parent Component . - - - - - - - - MIME content-type for an Extension - - - - - - - - - Whether this MIME is to be advertised. The default is to match whatever the parent extension element uses. If the parent element is not advertised, then this element cannot be advertised either. - - - - - This is the identifier for the MIME content. It is commonly written in the form of type/format. - - - - - Class ID for the COM server that is to be associated with the MIME content. - - - - - If 'yes', become the content type for the parent Extension. The default value is 'no'. - - - - - - - - Verb definition for an Extension. When advertised, this element creates a row in the - Verb table. - When not advertised, this element creates the appropriate rows in Registry table. - - - - - - - - - - The verb for the command. - - - - - The localized text displayed on the context menu. - - - - - Value for the command arguments. Note that the resolution of properties in the - Argument field is limited. A property formatted as [Property] in this field can only be resolved if the property - already has the intended value when the component owning the verb is installed. For example, for the argument - "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the - component that owns the verb. - - - - - The sequence of the commands. Only verbs for which the Sequence is specified - are used to prepare an ordered list for the default value of the shell key. The Verb with the lowest value in this - column becomes the default verb. Used only for Advertised verbs. - - - - - - - - - - - - - Either this attribute or the TargetProperty attribute must be specified for a non-advertised verb. - The value should be the identifier of the target file to be executed for the verb. - - - - - - - Either this attribute or the TargetFile attribute must be specified for a non-advertised verb. - The value should be the identifier of the property which will resolve to the path to the target file to be executed for the verb. - - - - - - - - - Extension for a Component - - - - - - - - - - - MIME and Verbs can be associated with Extensions - - - - - - - This is simply the file extension, like "doc" or "xml". Do not include the preceding period. - - - - - The MIME type that is to be written. - - - - - Whether this extension is to be advertised. The default is "no". - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Register a type library (TypeLib). Please note that in order to properly use this - non-advertised, you will need use this element with Advertise='no' and also author the - appropriate child Interface elements by extracting them from the type library itself. - - - - - - - - - - - - - - - The GUID that identifes the type library. - - - - - - Value of 'yes' will create a row in the TypeLib table. - Value of 'no' will create rows in the Registry table. - The default value is 'no'. - - - - - - - Value of 'yes' means the type library describes controls, and should not be displayed in type browsers intended for nonvisual objects. - This attribute can only be set if Advertise='no'. - - - - - - - The cost associated with the registration of the type library in bytes. This attribute cannot be set if Advertise='no'. - - - - - - The localizable description of the type library. - - - - - - Value of 'yes' means the type library exists in a persisted form on disk. This attribute can only be set if Advertise='no'. - - - - - - The identifier of the Directory element for the help directory. - - - - - - Value of 'yes' means the type library should not be displayed to users, although its use is not restricted. - Should be used by controls. Hosts should create a new type library that wraps the control with extended properties. - This attribute can only be set if Advertise='no'. - - - - - - The language of the type library. This must be a non-negative integer. - - - - - The major version of the type library. The value should be an integer from 0 - 255. - - - - - The minor version of the type library. The value should be an integer from 0 - 255. - - - - - The resource id of a typelib. The value is appended to the end of the typelib path in the registry. - - - - - - Value of 'yes' means the type library is restricted, and should not be displayed to users. This attribute can only be set if Advertise='no'. - - - - - - - - - ProgId registration for parent Component. If ProgId has an associated Class, it must be a child of that element. - - - - - - - - - - - - - The version-independent ProgId must be the first child element of actual ProgId. Nesting other ProgId elements within the Version-independent ProgId will create COM+ aliases, see http://support.microsoft.com/kb/305745 for more information. - - - - - Extensions that refer to this ProgId - - - - - - - - For an advertised ProgId, the Id of an Icon element. For a non-advertised ProgId, this is the Id of a file containing an icon resource. - - - - - - - Specifies that the associated ProgId should not be opened by users. The value is presented as a warning to users. An empty string is also valid for this attribute. - - - - - - - - Application ID containing DCOM information for the associated application GUID. - If this element is nested under a Fragment, Module, or Product element, it must be - advertised. - - - - - - When being used in unadvertised mode, the attributes in the AppId element correspond to registry keys - as follows (values that can be specified in authoring are in bold): - IdIn General - [HKCR\AppID\{Id}]Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]ActivateAtStorageIn General - [HKCR\AppID\{Id}] - ActivateAtStorage="ActivateAtStorage" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - ActivateAtStorage="Y" - DescriptionIn General - [HKCR\AppID\{Id}] - @="Description" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - @="My AppId Description" - DllSurrogateIn General - [HKCR\AppID\{Id}] - DllSurrogate="DllSurrogate" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - DllSurrogate="C:\surrogate.exe" - LocalServiceIn General - [HKCR\AppID\{Id}] - LocalService="LocalService" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - LocalService="MyServiceName" - RemoteServerNameIn General - [HKCR\AppID\{Id}] - RemoteServerName="RemoteServerName" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - RemoteServerName="MyRemoteServer" - RunAsInteractiveUserIn General - [HKCR\AppID\{Id}] - RunAs="RunAsInteractiveUser" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - RunAs="Interactive User" - ServiceParametersIn General - [HKCR\AppID\{Id}] - ServiceParameters="ServiceParameters" - Specific Example - [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - ServiceParameters="-param" - - - - - - - - - - - Set this value to 'yes' to configure the client to activate on the same system as persistent storage. - - - - - - - Set this value to 'yes' in order to create a normal AppId table row. Set this value to 'no' in order to - generate Registry rows that perform similar registration (without the often problematic Windows Installer - advertising behavior). - - - - - - - Set this value to the description of the AppId. It can only be specified when the AppId is not being advertised. - - - - - - - Set this value to specify that the class is a DLL that is to be activated in a surrogate EXE - process, and the surrogate process to be used is the path of a surrogate EXE file specified by the value. - - - - - - - Set this value to the AppID GUID that corresponds to the named executable. - - - - - - - Set this value to the name of a service to allow the object to be installed as a Win32 service. - - - - - - - Set this value to the name of the remote server to configure the client to request the object - be run at a particular machine whenever an activation function is called for which a COSERVERINFO - structure is not specified. - - - - - - - Set this value to 'yes' to configure a class to run under the identity of the user currently - logged on and connected to the interactive desktop when activated by a remote client without - being written as a Win32 service. - - - - - - - Set this value to the parameters to be passed to a LocalService on invocation. - - - - - - - - COM Class registration for parent Component. - - - - - - - - When being used in unadvertised mode, the attributes in the Class element correspond to registry keys - as follows (values that can be specified in authoring are in bold): - Id/Context/ServerIn General - [HKCR\CLSID\{Id}\Context1] - @="[!Server]" - [HKCR\CLSID\{Id}\Context2] - @="[!Server]" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer] - @="[!comserv.dll]" - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] - @="[!comserv.dll]" - Id/Context/ForeignServerIn General - [HKCR\CLSID\{Id}\Context1] - @="ForeignServer" - [HKCR\CLSID\{Id}\Context2] - @="ForeignServer" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer] - @="mscoree.dll" - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] - @="mscoree.dll" - AppIdIn General - [HKCR\CLSID\{Id}] - AppId="{AppId}" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - AppId="{00000000-89AB-0000-0123-000000000000}" - ArgumentIn General - [HKCR\CLSID\{Id}\Context] - @="[!Server] Argument" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] - @="[!comserv.dll] /arg1 /arg2 /arg3"ControlIn General - Value "yes" specified: - [HKCR\CLSID\{Id}\Control] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Control] - DescriptionIn General - [HKCR\CLSID\{Id}] - @="Description" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}] - @="Description of Example COM Component" - HandlerIn General - Value "1" specified: - [HKCR\CLSID\{Id}\InprocHandler] - @="ole.dll" - Value "2" specified: - [HKCR\CLSID\{Id}\InprocHandler32] - @="ole32.dll" - Value "3" specified: - [HKCR\CLSID\{Id}\InprocHandler] - @="ole.dll" - [HKCR\CLSID\{Id}\InprocHandler32] - @="ole32.dll" - Other value specified: - [HKCR\CLSID\{Id}\InprocHandler32] - @="Handler" - Specific Example (for other value) - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\InprocHandler32] - @="handler.dll" - Icon/IconIndexThis is not currently handled properly.InsertableIn General - Value "no" specified: - [HKCR\CLSID\{Id}\NotInsertable] - Value "yes" specified: - [HKCR\CLSID\{Id}\Insertable] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Insertable] - ProgrammableIn General - Value "yes" specified: - [HKCR\CLSID\{Id}\Programmable] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Programmable] - RelativePathUnsupported. Please contribute this back to WiX if you know.SafeForInitializingIn General - Value "yes" specified: - [HKCR\CLSID\{Id}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}] - SafeForScriptingIn General - Value "yes" specified: - [HKCR\CLSID\{Id}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}] - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}] - ThreadingModelIn General - [HKCR\CLSID\{Id}\Context] - ThreadingModel="ThreadingModel" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] - ThreadingModel="Apartment" - TypeLibId (from parent TypeLib/@Id)In General - [HKCR\CLSID\{Id}\TypeLib] - @="{TypeLibId}" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\TypeLib] - @="{11111111-89AB-1111-0123-111111111111}" - VersionIn General - [HKCR\CLSID\{Id}\Version] - @="Version" - Specific Example - [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Version] - @="1.0.0.0" - - - - - - - - A ProgId associated with Class must be a child element of the Class element - - - - - - These Interfaces will be registered with the parent Class and TypeLib (if present). - - - - - - The Class identifier (CLSID) of a COM server. - - - - - - The server context(s) for this COM server. This attribute is optional for VB6 libraries that are marked "PublicNotCreateable". - Class elements marked Advertised must specify at least one server context. It is most common for there to be a single value - for the Context attribute. - - - - - - - - - - A 16-bit local server application. - - - - - - - A 32-bit local server application. - - - - - - - A 16-bit in-process server DLL. - - - - - - - A 32-bit in-process server DLL. - - - - - - - - - - - Localized description associated with the Class ID and Program ID. - - - - - - This attribute is only allowed when a Class is advertised. Using this attribute will reference an Application ID - containing DCOM information for the associated application GUID. The value must correspond to an AppId/@Id of an - AppId element nested under a Fragment, Module, or Product element. To associate an AppId with a non-advertised - class, nest the class within a parent AppId element. - - - - - - - The file providing the icon associated with this CLSID. Reference to an Icon element - (should match the Id attribute of an Icon element). This is currently not supported if the - value of the Advertise attribute is "no". - - - - - - Icon index into the icon file. - - - - - - The default inproc handler. May be optionally provided only for Context = LocalServer or - LocalServer32. Value of "1" creates a 16-bit InprocHandler (appearing as the InprocHandler - value). Value of "2" creates a 32-bit InprocHandler (appearing as the InprocHandler32 value). - Value of "3" creates 16-bit as well as 32-bit InprocHandlers. A non-numeric value is treated - as a system file that serves as the 32-bit InprocHandler (appearing as the InprocHandler32 value). - - - - - - - This column is optional only when the Context column is set to "LocalServer" - or "LocalServer32" server context. The text is registered as the argument against - the OLE server and is used by OLE for invoking the server. Note that the resolution - of properties in the Argument field is limited. A property formatted as [Property] in - this field can only be resolved if the property already has the intended value when - the component owning the class is installed. For example, for the argument "[#MyDoc.doc]" - to resolve to the correct value, the same process must be installing the file MyDoc.doc and the - component that owns the class. - - - - - - - When the value is "yes", the bare file name can be used for COM servers. The installer - registers the file name only instead of the complete path. This enables the server in - the current directory to take precedence and allows multiple copies of the same component. - - - - - - - Set this value to "yes" in order to create a normal Class table row. Set this value to - "no" in order to generate Registry rows that perform similar registration (without the - often problematic Windows Installer advertising behavior). - - - - - - - - Threading model for the CLSID. - - - - - - - - - - - - - - - - - Version for the CLSID. - - - - - - - Specifies the CLSID may be insertable. - - - - - - - Specifies the CLSID may be programmable. - - - - - - - May only be specified if the value of the Advertise attribute is "no" and Server has not been specified. In addition, it may only - be used when the Class element is directly under the Component element. The value can be - that of an registry type (REG_SZ). This attribute should be used to specify foreign servers, such as mscoree.dll if needed. - - - - - - - May only be specified if the value of the Advertise attribute is "no" and the ForeignServer attribute is not specified. File Id of the - COM server file. If this element is nested under a File element, this value defaults to - the value of the parent File/@Id. - - - - - - - Specifies whether or not to use the short path for the COM server. This can only apply when Advertise is set to 'no'. The default is 'no' meaning that it will use the long file name for the COM server. - - - - - - - May only be specified if the value of the Advertise attribute is "no". - - - - - - - May only be specified if the value of the Advertise attribute is "no". - - - - - - - Set this attribute's value to 'yes' to identify an object as an ActiveX Control. The default value is 'no'. - - - - - - - - COM Interface registration for parent TypeLib. - - - - - - - - GUID identifier for COM Interface. - - - - - Name for COM Interface. - - - - - Identifies the interface from which the current interface is derived. - - - - - GUID CLSID for proxy stub to COM Interface. - - - - - GUID CLSID for 32-bit proxy stub to COM Interface. - - - - - Number of methods implemented on COM Interface. - - - - - Determines whether a Typelib version entry should be created with the other COM Interface registry keys. Default is 'yes'. - - - - - - - FileType data for class Id registration. - - - - - Offset into file. If positive, offset is from the beginning; if negative, offset is from the end. - - - - - Hex value that is AND'd against the bytes in the file at Offset. - - - - - If the result of the AND'ing of Mask with the bytes in the file is Value, the file is a match for this File Type. - - - - - - - - Service or group of services that must start before the parent service. - - - - - - - - - - The value of this attribute should be one of the following: - The name (not the display name) of a previously installed service.The name of a service group (in which case the Group attribute must be set to 'yes'). - - - - - - Set to 'yes' to indicate that the value in the Id attribute is the name of a group of services. - - - - - - - - - Adds services for parent Component. Use the ServiceControl element to remove services. - - - - - The service executable installed will point to the KeyPath for the Component. - Therefore, you must ensure that the correct executable is either the first child - File element under this Component or explicitly mark the appropriate File element - as KeyPath='yes'. - - - - - - - - Configures the ACLs for this service. - - - - - Ordered list of dependencies when installing services. - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Unique identifier for this service configuration. This value will default to the Name attribute if not - specified. - - - - - - This column is the string that gives the service name to install. - - - - - This column is the localizable string that user interface programs use to identify the service. - - - - - The Windows Installer does not currently support kernelDriver or systemDriver. - - - - - - - A Win32 service that runs its own process. - - - - - - - A Win32 service that shares a process. - - - - - - - A kernel driver service. This value is not currently supported by the Windows Installer. - - - - - - - A file system driver service. This value is not currently supported by the Windows Installer. - - - - - - - - - Whether or not the service interacts with the desktop. - - - - - Determines when the service should be started. The Windows Installer does not support boot or system. - - - - - - - The service will start during startup of the system. - - - - - - - The service will start when the service control manager calls the StartService function. - - - - - - - The service can no longer be started. - - - - - - - The service is a device driver that will be started by the operating system boot loader. This value is not currently supported by the Windows Installer. - - - - - - - The service is a device driver that will be started by the IoInitSystem function. This value is not currently supported by the Windows Installer. - - - - - - - - - Determines what action should be taken on an error. - - - - - - - Logs the error and continues with the startup operation. - - - - - - - Logs the error, displays a message box and continues the startup operation. - - - - - - - Logs the error if it is possible and the system is restarted with the last configuration known to be good. If the last-known-good configuration is being started, the startup operation fails. - - - - - - - - - The overall install should fail if this service fails to install. - - - - - The load ordering group that this service should be a part of. - - - - - Fully qualified names must be used even for local accounts, e.g.: ".\LOCAL_ACCOUNT". Valid only when ServiceType is ownProcess. - - - - - The password for the account. Valid only when the account has a password. - - - - - Contains any command line arguments or properties required to run the service. - - - - - Sets the description of the service. - - - - - Determines whether the existing service description will be ignored. If 'yes', the service description will be null, even if the Description attribute is set. - - - - - - - - Argument used in ServiceControl parent - - - - - - - - - - Starts, stops, and removes services for parent Component. This element is used to control the state - of a service installed by the MSI or MSM file by using the start, stop and remove attributes. - For example, Start='install' Stop='both' Remove='uninstall' would mean: start the service on install, - remove the service when the product is uninstalled, and stop the service both on install and uninstall. - - - - - - - - - - Ordered list of arguments used when modifying services. - - - - - - - Name of the service. - - - - - - Specifies whether the service should be started by the StartServices action on install, uninstall or both. - For 'install', the service will be started only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the service will be started only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the service will be started in both cases. - - - - - - - Specifies whether the service should be stopped by the StopServices action on install, uninstall or both. - For 'install', the service will be stopped only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the service will be stopped only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the service will be stopped in both cases. - - - - - - - Specifies whether the service should be removed by the DeleteServices action on install, uninstall or both. - For 'install', the service will be removed only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the service will be removed only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the service will be removed in both cases. - - - - - - Specifies whether or not to wait for the service to complete before continuing. The default is 'yes'. - - - - - - - - Privilege required by service configured by ServiceConfig parent. Valid values are a privilege constant or a - Formatted property that resolves to a privilege constant. - - - - - - - - - - Configures a service being installed or one that already exists. This element's functionality is available starting with MSI 5.0. - - - - - - - - - - List of privileges to apply to service. - - - - - - - Unique identifier for this service configuration. This value will default to the ServiceName attribute if not - specified. - - - - - - - This attribute specifies whether an auto-start service should delay its start until after all other auto-start - services. This attribute only affects auto-start services. Allowed values are "yes", "no" or a Formatted property that - resolves to "1" (for "yes") or "0" (for "no"). If this attribute is not present the setting is not configured. - - - - - - - This attribute specifies when failure actions should be applied. Allowed values are "failedToStop", "failedToStopOrReturnedError" - or a Formatted property that resolves to "1" (for "failedToStopOrReturnedError") or "0" (for "failedToStop"). If this attribute - is not present the setting is not configured. - - - - - - - This attribute specifies time in milliseconds that the Service Control Manager (SCM) waits after notifying the service of a system - shutdown. If this attribute is not present the default value, 3 minutes, is used. - - - - - - - Specifies whether to configure the service when the parent Component is installed. This attribute may be combined with OnReinstall - and OnUninstall. - - - - - - - Specifies whether to configure the service when the parent Component is reinstalled. This attribute may be combined with OnInstall - and OnUninstall. - - - - - - - Specifies whether to configure the service when the parent Component is uninstalled. This attribute may be combined with OnInstall - and OnReinstall. - - - - - - - Specifies the name of the service to configure. This value will default to the ServiceInstall/@Name attribute when nested under - a ServiceInstall element. - - - - - - - Specifies the service SID to apply to the service. Valid values are "none", "restricted", "unrestricted" or a Formatted property - that resolves to "0" (for "none"), "3" (for "restricted") or "1" (for "unrestricted"). If this attribute is not present the - setting is not configured. - - - - - - - - Failure action for a ServiceConfigFailureActions element. - - - - - - Specifies the action to take when the service fails. Valid values are "none", "restartComputer", "restartService", "runCommand" or a Formatted property - that resolves to "0" (for "none"), "1" (for "restartService"), "2" (for "restartComputer") or "3" (for "runCommand"). - - - - - - - Specifies the time in milliseconds to wait before performing the value from the Action attribute. - - - - - - - - - Configures the failure actions for a service being installed or one that already exists. This element's functionality is available starting with MSI 5.0. - - - - - - - - - - Ordered list of failure actions to apply to service. - - - - - - - Unique identifier for this service configuration. This value will default to the ServiceName attribute if not - specified. - - - - - - - This attribute specifies command to execute when a "runCommand" failure action hit. If an empty string is provided it clears - the existing command. If this attribute is not present the setting is not changed. - - - - - - - Specifies whether to configure the service when the parent Component is installed. This attribute may be combined with OnReinstall - and OnUninstall. - - - - - - - Specifies whether to configure the service when the parent Component is reinstalled. This attribute may be combined with OnInstall - and OnUninstall. - - - - - - - Specifies whether to configure the service when the parent Component is uninstalled. This attribute may be combined with OnInstall - and OnReinstall. - - - - - - - Specifies the message to show for a reboot failure action. If an empty string is provided it clears any existing reboot message. If this - attribute is not present the setting is not changed. - - - - - - - Specifies the time in seconds to reset the failure count. If this attribute is not present the failure count will not be reset. - - - - - - - Specifies the name of the service to configure. This value will default to the ServiceInstall/@Name attribute when nested under - a ServiceInstall element. - - - - - - - - - Environment variables added or removed for the parent component. - - - - - - - - - Unique identifier for environment entry. - - - - - Name of the environment variable. - - - - - - The value to set into the environment variable. - If this attribute is not set, the environment variable is removed during installation if it exists on the machine. - - - - - - Optional attribute to change the separator used between values. By default a semicolon is used. - - - - - Specfies whether the environmental variable should be created, set or removed when the parent component is installed. - - - - - - Creates the environment variable if it does not exist, then set it during installation. This has no effect on the value of the environment variable if it already exists. - - - - - Creates the environment variable if it does not exist, and then set it during installation. If the environment variable exists, set it during the installation. - - - - - - Removes the environment variable during an installation. - The installer only removes an environment variable during an installation if the name and value - of the variable match the entries in the Name and Value attributes. - If you want to remove an environment variable, regardless of its value, do not set the Value attribute. - - - - - - - - - - - - - This value is the entire environmental variable. This is the default. - - - - - - - This value is prefixed. - - - - - - - This value is appended. - - - - - - - - - Specifies that the environment variable should not be removed on uninstall. - - - - - - Specifies that the environment variable should be added to the system environment space. The default - is 'no' which indicates the environment variable is added to the user environment space. - - - - - - - - - Conditions for components, controls, features, and products. The condition is specified in the inner text of the element. - - - - - - - How To: Block installation based on OS version - How To: Check the version number of a file during installation - - - - - - - - Under a Component element, the condition becomes the condition of the component. Under a Control element, - the condition becomes a ControlCondition entry. Under a Feature element, the condition becomes a Condition - entry. Under a Fragment or Product element, the condition becomes a LaunchCondition entry. - - - - - - Used only under Control elements and is required. Allows specific actions to be applied to a control based - on the result of this condition. - - - - - - - - Set the Control as the default. Only used under Control elements. - - - - - - - Enable the Control. Only used under Control elements. - - - - - - - Disable the Control. Only used under Control elements. - - - - - - - Hide the Control. Only used under Control elements. - - - - - - - Display the Control. Only used under Control elements. - - - - - - - - - - Used only under Feature elements and is required. Allows modifying the level of a Feature based on the - result of this condition. - - - - - - - Used only under Fragment or Product elements and is required. Set the value to the text to display when the - condition fails and the installation must be terminated. - - - - - - - - - - - Shared Component to be privately replicated in folder of parent Component - - - - - - - - - Shared Component for this application Component. - - - - - - - - Disk cost to reserve in a folder for running locally and/or from source. - - - - - - - - - A primary key that uniquely identifies this ReserveCost entry. - - - - - - Adds the amount of disk space specified in RunFromSource or RunLocal to the volume cost of the device containing the directory. - If this attribute is not set, it will default to the directory of parent component. - - - - - - The number of bytes of disk space to reserve if the component is installed to run from source. - - - - - The number of bytes of disk space to reserve if the component is installed to run locally. - - - - - - - Component for parent Directory - - - - - - - How To: Add a file to your installer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - - Component identifier; this is the primary key for identifying components. If omitted, - the compiler defaults the identifier to the identifier of the resource that is the - explicit keypath of the component (for example, a child File element with KeyPath - attribute with value 'yes'. - - - - - - - Set this attribute to create a ComPlus entry. The value should be the export flags used - during the generation of the .msi file. For more information see the COM+ documentation - in the Platform SDK. - - - - - - - Set this attribute to 'yes' in order to disable registry reflection on all existing and - new registry keys affected by this component. - When set to 'yes', the Windows Installer calls the RegDisableReflectionKey on each key - being accessed by the component. - This bit is available with Windows Installer version 4.0 and is ignored on 32-bit systems. - - - - - - - Sets the Directory of the Component. If this element is nested under a Directory element, - this value defaults to the value of the parent Directory/@Id. - - - - - - - This attribute provides a default DiskId attribute for all child File elements. Specifying - the DiskId on a Component element will override any DiskId attributes set by parent Directory - or DirectoryRef elements. See the File element's DiskId attribute for more information about - the purpose of the DiskId. - - - - - - - Identifies a feature to which this component belongs, as a shorthand for a child - ComponentRef element of the Feature element. The value of this attribute should - correspond to the Id attribute of a Feature element authored elsewhere. Note that - a single component can belong to multiple features but this attribute allows you - to specify only a single feature. - - - - - - - This value should be a guid that uniquely identifies this component's contents, language, platform, and version. - If omitted, the default value is '*' which indicates that the linker should generate a stable guid. - Generatable guids are supported only for components with a single file as the component's keypath - or no files and a registry value as the keypath. - It's also possible to set the value to an empty string to specify an unmanaged component. - Unmanaged components are a security vulnerability because the component cannot be removed or repaired - by Windows Installer (it is essentially an unpatchable, permanent component). Therefore, a guid should - always be specified for any component which contains resources that may need to be patched in the future. - - - - - - - If this attribute's value is set to 'yes', then the Directory of this Component is used - as the KeyPath. To set a Registry value or File as the KeyPath of a component, set the - KeyPath attribute to 'yes' on one of those child elements. If KeyPath is not set to 'yes' for the - Component or for a child Registry value or File, WiX will look at the child elements under the - Component in sequential order and try to automatically select one of them as a key path. Allowing - WiX to automatically select a key path can be dangerous because adding or removing child elements - under the Component can inadvertantly cause the key path to change, which can lead to - installation problems. - - - - - - - Optional value that specifies the location that the component can be run from. - - - - - - - - Prevents the component from running from the source or the network (this is the default behavior if this attribute is not set). - - - - - - - Enforces that the component can only be run from the source (it cannot be run from the user's computer). - - - - - - - Allows the component to run from source or locally. - - - - - - - - - - If this attribute is set to 'yes', a new Component/@Guid will be generated for each - instance transform. Ensure that all of the resources contained in a multi-instance - Component will be installed to different paths based on the instance Property; otherwise, - the Component Rules will be violated. - - - - - - - If this attribute is set to 'yes', the installer does not install or reinstall the - component if a key path file or a key path registry entry for the component already - exists. The application does register itself as a client of the component. Use this - flag only for components that are being registered by the Registry table. Do not use - this flag for components registered by the AppId, Class, Extension, ProgId, MIME, and - Verb tables. - - - - - - - If this attribute is set to 'yes', the installer does not remove the component during - an uninstall. The installer registers an extra system client for the component in - the Windows Installer registry settings (which basically just means that at least one - product is always referencing this component). Note that this option differs from the - behavior of not setting a guid because although the component is permanent, it is still - patchable (because Windows Installer still tracks it), it's just not uninstallable. - - - - - - - If this attribute's value is set to 'yes', enables advanced patching semantics for - Components that are shared across multiple Products. Specifically, the Windows Installer - will cache the shared files to improve patch uninstall. This functionality is available - in Windows Installer 4.5 and later. - - - - - - - If this attribute's value is set to 'yes', the installer increments the reference count - in the shared DLL registry of the component's key file. If this bit is not set, the - installer increments the reference count only if the reference count already exists. - - - - - - - If this attribute is set to 'yes', the installer reevaluates the value of the statement - in the Condition upon a reinstall. If the value was previously False and has changed to - True, the installer installs the component. If the value was previously True and has - changed to False, the installer removes the component even if the component has other - products as clients. - - - - - - - If this attribute is set to 'yes', the installer will uninstall the Component's files - and registry keys when it is superseded by a patch. This functionality is available in - Windows Installer 4.5 and later. - - - - - - - Set this attribute to 'yes' to mark this as a 64-bit component. This attribute facilitates - the installation of packages that include both 32-bit and 64-bit components. If this is a 64-bit - component replacing a 32-bit component, set this attribute to 'yes' and assign a new GUID in the Guid attribute. - The default value is based on the platform set by the -arch switch to candle.exe - or the InstallerPlatform property in a .wixproj MSBuild project: - For x86 and ARM, the default value is 'no'. - For x64 and IA64, the default value is 'yes'. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Groups together multiple components to be used in other locations. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Identifier for the ComponentGroup. - - - - - - Sets the default directory identifier for child Component elements. - - - - - - - Used to set the default file system source for child Component elements. For more information, see - Specifying source files. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a ComponentGroup in another Fragment. - - - - - - - - The identifier of the ComponentGroup to reference. - - - - - - Set this attribute to 'yes' in order to make the parent feature of this component - the primary feature for this component. Components may belong to multiple features. - By designating a feature as the primary feature of a component, you ensure that - whenever a component is selected for install-on-demand (IOD), the primary feature - will be the one to install it. This attribute should only be set if a component - actually nests under multiple features. If a component nests under only one feature, - that feature is the primary feature for the component. You cannot set more than one - feature as the primary feature of a given component. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Used only for PatchFamilies to include all changes between the baseline and upgraded packages in a patch. - - - Warning: this is intended for testing purposes only. Shipping a patch with all changes negates the benefits of using patch families for including only specific changes. - Because changing the ProductCode is not supported in a patch, the ProductCode property is automatically removed from the transform. - - - - - - - Used only for PatchFamilies to include only a binary table entry in a patch. - - - - - The identifier of the Binary element to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Used only for PatchFamilies to include only a icon table entry in a patch. - - - - - The identifier of the Icon element to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a Feature element in another Fragment. - - - How To: Add a file to your installer - - - - - - The identifier of the Component element to reference. - - - - - - Set this attribute to 'yes' in order to make the parent feature of this component - the primary feature for this component. Components may belong to multiple features. - By designating a feature as the primary feature of a component, you ensure that - whenever a component is selected for install-on-demand (IOD), the primary feature - will be the one to install it. This attribute should only be set if a component - actually nests under multiple features. If a component nests under only one feature, - that feature is the primary feature for the component. You cannot set more than one - feature as the primary feature of a given component. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - How To: Install the Visual C++ Redistributable with your installer - - Merge directive to bring in a merge module that will be redirected to the parent directory. - - - - - - Data to use as input to a configurable merge module. - - - - - - The unique identifier for the Merge element in the source code. Referenced by the MergeRef/@Id. - - - - - The value of this attribute should correspond to the Id attribute of a - Media element authored elsewhere. By creating this connection between the merge module and Media - element, you set the packaging options to the values specified in the Media - element (values such as compression level, cab embedding, etc...). - - - - - Specifies if the files in the merge module should be compressed. - - - - - Specifies the decimal LCID or localization token for the language to merge the Module in as. - - - - - Path to the source location of the merge module. - - - - - - - - - - - - - - - - How To: Install the Visual C++ Redistributable with your installer - - Merge reference to connect a Merge Module to parent Feature - - - - - The unique identifier for the Merge element to be referenced. - - - - - Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Data to use as input to a configurable merge module. - - - - - Name of the item in the ModuleConfiguration table. - - - - - Value to be passed to configurable merge module. - - - - - - - Directory layout for the product. Also specifies the mappings between source and target directories. - - - - How To: Add a file to your installer - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - This value is the unique identifier of the directory entry. - - - - - - The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*") - is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder). - It is recommended that this attribute be avoided and that developers install their Components under standard - directories with unique names instead (for example, "ProgramFilesFolder\Company Name Product Name Version"). It is - important to note that once a directory is assigned a Component Guid Generation Seed the value must not change until - (and must be changed when) the path to that directory, including itself and all parent directories, changes. - - - - - - - Sets the default disk identifier for the files contained in this directory. - This attribute's value may be overridden by a child Component, Directory, - Merge or File element. See the File or Merge elements' DiskId attribute for - more information. - - - - - - Used to set the file system source for this directory's child elements. For more information, see Specifying source files. - - - - - - The name of the directory. - - Do not specify this attribute if this directory represents - the same directory as the parent (see the Windows Installer SDK's - Directory table - topic for more information about the "." operator). - - This attribute's value may either a short or long directory name. If a short directory - name is specified, the ShortName attribute may not be specified. If this value is a long - directory name, the ShortName attribute may be omitted to - allow WiX to attempt to generate a unique short directory name. - However, if this name collides with another directory or you wish to manually specify - the short directory name, then the ShortName attribute may be specified. - - This Name attribute may also define multiple directories using the inline directory syntax. - For example, "ProgramFilesFolder:\My Company\My Product\bin" would create a reference to a - Directory element with Id="ProgramFilesFolder" then create directories named "My Company" then - "My Product" then "bin" nested beneath each other. This syntax is a shortcut to defining - each directory in an individual Directory element. - - - - - - - The short name of the directory in 8.3 format. - This attribute should only be set if there is a conflict between generated short directory names - or the user wants to manually specify the short directory name. - - - - - - - The short name of the directory on the source media in 8.3 format. - This attribute should only be set if there is a conflict between generated short directory names - or the user wants to manually specify the short source directory name. - - - - - - - The name of the directory on the source media. - If this attribute is not specified, Windows Installer will default to the Name attribute. - - In prior versions of the WiX toolset, this attribute specified the short source directory name. - This attribute's value may now be either a short or long directory name. - If a short directory name is specified, the ShortSourceName attribute may not be specified. - If a long directory name is specified, the LongSource attribute may not be specified. - Also, if this value is a long directory name, the ShortSourceName attribute may be omitted to - allow WiX to attempt to generate a unique short directory name. - However, if this name collides with another directory or you wish to manually specify - the short directory name, then the ShortSourceName attribute may be specified. - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a Directory element in another Fragment. - - - How To: Add a file to your installer - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The identifier of the Directory element to reference. - - - - - - Sets the default disk identifier for the files contained in this directory. - This attribute's value may be overridden by a child Component, Directory, - Merge or File element. See the File or Merge elements' DiskId attribute for - more information. - - - - - - Used to set the file system source for this DirectoryRef's child elements. For more information, see Specifying source files. - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - - - - Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. - - - - - Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. - - - - - Specifies the set of languages detected by FindRelatedProducts. Enter a list of numeric language identifiers (LANGID) separated by commas (,). Leave this value null to specify all languages. Set ExcludeLanguages to "yes" in order detect all languages, excluding the languages listed in this value. - - - - - The installer sets the REMOVE property to features specified in this column. The features to be removed can be determined at run time. The Formatted string entered in this field must evaluate to a comma-delimited list of feature names. For example: [Feature1],[Feature2],[Feature3]. No features are removed if the field contains formatted text that evaluates to an empty string. The installer sets REMOVE=ALL only if the Remove field is empty. - - - - - When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. Windows Installer documentation for the Upgrade table states that the property specified in this field must be a public property and must be added to the SecureCustomProperties property. WiX automatically appends the property specified in this field to the SecureCustomProperties property when creating an MSI. Each UpgradeVersion must have a unique Property value. After the FindRelatedProducts action is run, the value of this property is a list of product codes, separated by semicolons (;), detected on the system. - - - - - Set to "yes" to migrate feature states from upgraded products by enabling the logic in the MigrateFeatureStates action. - - - - - Set to "yes" to detect products and applications but do not uninstall. - - - - - Set to "yes" to continue installation upon failure to remove a product or application. - - - - - Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default. - - - - - Set to "yes" to make the range of versions detected include the value specified in Maximum. - - - - - Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - Upgrade info for a particular UpgradeCode - - - - - - - - - - - - Nesting a Property element under an Upgrade element has been deprecated. - Please nest Property elements in any of the other supported locations. - - - - - - - This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. - - - - - - - - A feature for the Feature table. Features are the smallest installable unit. See msi.chm for more - detailed information on the myriad installation options for a feature. - - - - - How To: Add a file to your installer - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Unique identifier of the feature. - - - - - - This attribute determines if a user will have the option to set a feature to absent in the user interface. - - - - - - - - Allows the user interface to display an option to change the feature state to Absent. - - - - - - - Prevents the user interface from displaying an option to change the feature state - to Absent by setting the msidbFeatureAttributesUIDisallowAbsent attribute. This will force the feature - to the installation state, whether or not the feature is visible in the UI. - - - - - - - - - - This attribute determines the possible advertise states for this feature. - - - - - - - - Prevents this feature from being advertised by setting the msidbFeatureAttributesDisallowAdvertise attribute. - - - - - - - Prevents advertising for this feature if the operating system shell does not support Windows Installer - descriptors by setting the msidbFeatureAttributesNoUnsupportedAdvertise attribute. - - - - - - - Allows the feature to be advertised. - - - - - - - - - - Specify the Id of a Directory that can be configured by the user at installation time. This identifier - must be a public property and therefore completely uppercase. - - - - - - - Longer string of text describing the feature. This localizable string is displayed by the - Text Control of the Selection Dialog. - - - - - - - Determines the initial display of this feature in the feature tree. - This attribute's value should be one of the following: - collapseInitially shows the feature collapsed. This is the default value.expandInitially shows the feature expanded.hiddenPrevents the feature from displaying in the user interface.<an explicit integer value> - For advanced users only, it is possible to directly set the integer value - of the display value that will appear in the Feature row. - - - - - - - This attribute determines the default install/run location of a feature. This attribute cannot be specified - if the value of the FollowParent attribute is 'yes' since that would ask the installer to force this feature - to follow the parent installation state and simultaneously favor a particular installation state just for this feature. - - - - - - - - Forces the feature to follow the same installation state as its parent feature. - - - - - - - Favors installing this feature locally by setting the msidbFeatureAttributesFavorLocal attribute. - - - - - - - Favors running this feature from source by setting the msidbFeatureAttributesFavorSource attribute. - - - - - - - - - - Sets the install level of this feature. A value of 0 will disable the feature. Processing the - Condition Table can modify the level value (this is set via the Condition child element). The - default value is "1". - - - - - - - Short string of text identifying the feature. This string is listed as an item by the - SelectionTree control of the Selection Dialog. - - - - - - - This attribute determines the default advertise state of the feature. - - - - - - - - Sets the feature to be advertised by setting the msidbFeatureAttributesFavorAdvertise attribute. - This value cannot be set if the value of the AllowAdvertise attribute is 'no' since that would ask the installer to - disallow the advertised state for this feature while at the same time favoring it. - - - - - - - Sets the feature to the default non-advertised installation option. - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Groups together multiple components, features, and merges to be used in other locations. - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - Identifier for the FeatureGroup. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a FeatureGroup in another Fragment. - - - - - - - - The identifier of the FeatureGroup to reference. - - - - - - Normally feature group references that end up nested under a parent element create a - connection to that parent. This behavior is undesirable when trying to simply reference - to a FeatureGroup in a different Fragment. Specify 'yes' to have this feature group - reference not create a connection to its parent. The default is 'no'. - - - - - - - Set this attribute to 'yes' in order to make the parent feature of this group - the primary feature for any components and merges contained in the group. - Features may belong to multiple features. By designating a feature as the - primary feature of a component or merge, you ensure that whenever a component is - selected for install-on-demand (IOD), the primary feature will be the one to install - it. This attribute should only be set if a component actually nests under multiple - features. If a component nests under only one feature, that feature is the primary - feature for the component. You cannot set more than one feature as the primary - feature of a given component. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Create a reference to a Feature element in another Fragment. - - - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The identifier of the Feature element to reference. - - - - - - Normally feature references that are nested under a parent element create a connection to that - parent. This behavior is undesirable when trying to simply reference a Feature in a different - Fragment. Specify 'yes' to have this feature reference not create a connection to its parent. - The default is 'no'. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - Media element describes a disk that makes up the source media for the installation. - - - - - - - - - - - - - - - Disk identifier for Media table. This number must be equal to or greater than 1. - - - - - The name of the cabinet if some or all of the files stored on the media are in a cabinet file. If no cabinets are used, this attribute must not be set. - - - - - - Indicates the compression level for the Media's cabinet. This attribute can - only be used in conjunction with the Cabinet attribute. The default is 'mszip'. - - - - - - The disk name, which is usually the visible text printed on the disk. This localizable text is used to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. - - - - - Instructs the binder to embed the cabinet in the product if 'yes'. This attribute can only be specified in conjunction with the Cabinet attribute. - - - - - - This attribute specifies the root directory for the uncompressed files that - are a part of this Media element. By default, the src will be the output - directory for the final image. The default value ensures the binder generates - an installable image. If a relative path is specified in the src attribute, - the value will be appended to the image's output directory. If an absolute - path is provided, that path will be used without modification. The latter two - options are provided to ease the layout of an image onto multiple medias (CDs/DVDs). - - - - - - - - - - - - - - The label attributed to the volume. This is the volume label returned - by the GetVolumeInformation function. If the SourceDir property refers - to a removable (floppy or CD-ROM) volume, then this volume label is - used to verify that the proper disk is in the drive before attempting - to install files. The entry in this column must match the volume label - of the physical media. - - - - - - - Optional property that identifies the source of the embedded cabinet. - If a cabinet is specified for a patch, this property should be defined - and unique to each patch so that the embedded cabinet containing patched - and new files can be located in the patch package. If the cabinet is not - embedded - this is not typical - the cabinet can be found in the directory - referenced in this column. If empty, the external cabinet must be located - in the SourceDir directory. - - - - - - - - - MediaTeplate element describes information to automatically assign files to cabinets. - A maximumum number of cabinets created is 999. - - - - - - - Templated name of the cabinet if some or all of the files stored on the media are in - a cabinet file. This name must begin with either a letter or an underscore, contain - maximum of five characters and {0} in the cabinet name part and must end three character extension. - The default is cab{0}.cab. - - - - - - - Indicates the compression level for the Media's cabinet. This attribute can - only be used in conjunction with the Cabinet attribute. The default is 'mszip'. - - - - - - - - - - - - - - - - The disk name, which is usually the visible text printed on the disk. This localizable text is used - to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the - DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. - - - - - - Instructs the binder to embed the cabinets in the product if 'yes'. - - - - - - The label attributed to the volume. This is the volume label returned - by the GetVolumeInformation function. If the SourceDir property refers - to a removable (floppy or CD-ROM) volume, then this volume label is - used to verify that the proper disk is in the drive before attempting - to install files. The entry in this column must match the volume label - of the physical media. - - - - - - - Size of uncompressed files in each cabinet, in megabytes. WIX_MUMS environment variable - can be used to override this value. Default value is 200 MB. - - - - - - - Maximum size of cabinet files in megabytes for large files. This attribute is used for packaging - files that are larger than MaximumUncompressedMediaSize into smaller cabinets. If cabinet size - exceed this value, then setting this attribute will cause the file to be split into multiple - cabinets of this maximum size. For simply controlling cabinet size without file splitting use - MaximumUncompressedMediaSize attribute. Setting this attribute will disable smart cabbing feature - for this Fragment / Product. Setting WIX_MCSLFS environment variable can be used to override this - value. Minimum allowed value of this attribute is 20 MB. Maximum allowed value and the Default - value of this attribute is 2048 MB (2 GB). - - - - - - - - - This element has been deprecated. - Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attributes instead. - - - - - - - The name of the item to ignore modularization for. - - - - - - - The type of the item to ignore modularization for. - - - - - - - - - - - - - - - - - - - - - Specifies a custom action to be added to the MSI CustomAction table. Various combinations of the attributes for this element - correspond to different custom action types. For more information about custom actions see the - - Custom Action Types topic on MSDN. - - - - - - - - The text node is only valid if the Script attribute is specified. In that case, the text node contains the script to embed. - - - - - - The identifier of the custom action. - - - - - - - - This attribute is a reference to a Binary element with matching Id attribute. That binary stream contains - the custom action for use during install. The custom action will not be installed into a target directory. This attribute is - typically used with the DllEntry attribute to specify the custom action DLL to use for a type 1 custom action, with the ExeCommand - attribute to specify a type 17 custom action that runs an embedded executable, or with the VBScriptCall or JScriptCall attributes - to specify a type 5 or 6 custom action. - - - - - - - This attribute specifies a reference to a File element with matching Id attribute that - will execute the custom action code in the file after the file is installed. This - attribute is typically used with the ExeCommand attribute to specify a type 18 custom action - that runs an installed executable, with the DllEntry attribute to specify an installed custom - action DLL to use for a type 17 custom action, or with the VBScriptCall or JScriptCall - attributes to specify a type 21 or 22 custom action. - - - - - - - This attribute specifies a reference to a Property element with matching Id attribute that specifies the Property - to be used or updated on execution of this custom action. This attribute is - typically used with the Value attribute to create a type 51 custom action that parses - the text in Value and places it into the specified Property. This attribute is also used with - the ExeCommand attribute to create a type 50 custom action that uses the value of the - given property to specify the path to the executable. Type 51 custom actions are often useful to - pass values to a deferred custom action. - See - http://msdn.microsoft.com/library/aa370543.aspx - for more information. - - - - - - - This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path. - This attribute is typically used with the ExeCommand attribute to specify the source executable for a type 34 - custom action, or with the Value attribute to specify a formatted string to place in the specified Directory - table entry in a type 35 custom action. - - - - - - - - This attribute specifies the name of a function in a custom action to execute. - This attribute is used with the BinaryKey attribute to create a type 1 custom - action, or with the FileKey attribute to create a type 17 custom action. - - - - - - - This attribute specifies the command line parameters to supply to an externally - run executable. This attribute is typically used with the BinaryKey attribute for a type 2 custom action, - the FileKey attribute for a type 18 custom action, the Property attribute for a type 50 custom action, - or the Directory attribute for a type 34 custom action that specify the executable to run. - - - - - - - This attribute specifies the name of the JScript function to execute in a script. The script must be - provided in a Binary element identified by the BinaryKey attribute described above. In other words, this - attribute must be specified in conjunction with the BinaryKey attribute. - - - - - - - This attribute specifies the name of the VBScript Subroutine to execute in a script. The script must be - provided in a Binary element identified by the BinaryKey attribute described above. In other words, this - attribute must be specified in conjunction with the BinaryKey attribute. - - - - - - - Creates a type 37 or 38 custom action. The text of the element should contain the script to be embedded in the package. - - - - - - - - - - - - - Use to suppress modularization of this custom action name in merge modules. - This should only be necessary for table-driven custom actions because the - table name which they interact with cannot be modularized, so there can only - be one instance of the table. - - - - - - - This attribute specifies a string value to use in the custom action. This attribute - must be used with the Property attribute to set the property as part of a - type 51 custom action or with the Directory attribute to set a directory path in that - table in a type 35 custom action. The value can be a literal value or derived from a - Property element using the Formatted - syntax. - - - - - - - This attribute specifies an index in the MSI Error table to use as an error message for a - type 19 custom action that displays the error message and aborts a product's installation. - - - - - - - - Set this attribute to set the return behavior of the custom action. - - - - - - - - Indicates that the custom action will run asyncronously and execution may continue after the installer terminates. - - - - - - - Indicates that the custom action will run asynchronously but the installer will wait for the return code at sequence end. - - - - - - - Indicates that the custom action will run synchronously and the return code will be checked for success. This is the default. - - - - - - - Indicates that the custom action will run synchronously and the return code will not be checked. - - - - - - - - - - This attribute indicates the scheduling of the custom action. - - - - - - - - Indicates that the custom action will run after successful completion of the installation script (at the end of the installation). - - - - - - - Indicates that the custom action runs in-script (possibly with elevated privileges). - - - - - - - Indicates that the custom action will only run in the first sequence that runs it. - - - - - - - Indicates that the custom action will run during normal processing time with user privileges. This is the default. - - - - - - - Indicates that the custom action will only run in the first sequence that runs it in the same process. - - - - - - - Indicates that a custom action will run in the rollback sequence when a failure - occurs during installation, usually to undo changes made by a deferred custom action. - - - - - - - Indicates that a custom action should be run a second time if it was previously run in an earlier sequence. - - - - - - - - - - This attribute specifies whether the Windows Installer, which executes as LocalSystem, - should impersonate the user context of the installing user when executing this custom action. - Typically the value should be 'yes', except when the custom action needs elevated privileges - to apply changes to the machine. - - - - - - - This attribute specifies that the Windows Installer, execute the custom action only when - a patch is being uninstalled. These custom actions should also be conditioned using the - MSIPATCHREMOVE property to ensure proper down level (less than Windows Installer 4.5) - behavior. - - - - - - - Specifies that a script custom action targets a 64-bit platform. Valid only when used with - the Script, VBScriptCall, and JScriptCall attributes. - The default value is based on the platform set by the -arch switch to candle.exe - or the InstallerPlatform property in a .wixproj MSBuild project: - For x86 and ARM, the default value is 'no'. - For x64 and IA64, the default value is 'yes'. - - - - - - - This attribute specifies controls whether the custom action will impersonate the - installing user during per-machine installs on Terminal Server machines. - Deferred execution custom actions that do not specify this attribute, or explicitly set it 'no', - will run with no user impersonation on Terminal Server machines during - per-machine installations. This attribute is only applicable when installing on the - Windows Server 2003 family. - - - - - - Ensures the installer does not log the CustomActionData for the deferred custom action. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - This will cause the entire contents of the Fragment containing the referenced CustomAction to be - included in the installer database. - - - - - - The identifier of the CustomAction to reference. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - - - Sets a Directory to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in - the InstallUISequence and InstallExecuteSequence. - - - - - - - - The condition that determines whether the Directory is set. If the condition evaluates to false, the SetDirectory is skipped. - - - - - - By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case - where multiple SetDirectory elements target the same Id (probably with mutually exclusive conditions). - - - - - - - This attribute specifies a reference to a Directory element with matching Id attribute. The path of the Directory will be set to - the Value attribute. - - - - - - - Controls which sequences the Directory assignment is sequenced in. - For 'execute', the assignment is scheduled in the InstallExecuteSequence. - For 'ui', the assignment is scheduled in the InstallUISequence. - For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. - For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. - The default is 'both'. - - - - - - - This attribute specifies a string value to assign to the Directory. The value can be a literal value or derived from a - Property element using the Formatted - syntax. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - - - - - Sets a Property to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in - the InstallUISequence and InstallExecuteSequence. - - - - - - - - The condition that determines whether the Property is set. If the condition evaluates to false, the Set is skipped. - - - - - - By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case - where multiple SetProperty elements target the same Id (probably with mutually exclusive conditions). - - - - - - The name of the standard or custom action after which this action should be performed. Mutually exclusive with the Before attribute. A Before or After attribute is required when setting a Property. - - - - - The name of the standard or custom action before which this action should be performed. Mutually exclusive with the After attribute. A Before or After attribute is required when setting a Property. - - - - - - This attribute specifies the Property to set to the Value. - - - - - - - Controls which sequences the Property assignment is sequenced in. - For 'execute', the assignment is scheduled in the InstallExecuteSequence. - For 'ui', the assignment is scheduled in the InstallUISequence. - For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. - For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. - The default is 'both'. - - - - - - - This attribute specifies a string value to assign to the Property. The value can be a literal value or derived from a - Property element using the Formatted - syntax. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - - This will cause the entire contents of the Fragment containing the referenced PatchFamily to be - used in the process of creating a patch. - - - - - - The identifier of the PatchFamily to reference. - - - - - Specifies the ProductCode of the product that this family applies to. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - Sets the ProductID property to the full product identifier. This action must be sequenced before the user interface wizard in the InstallUISequence table and before the RegisterUser action in the InstallExecuteSequence table. If the product identifier has already been validated successfully, the ValidateProductID action does nothing. The ValidateProductID action always returns a success, whether or not the product identifier is valid, so that the product identifier can be entered on the command line the first time the product is run. The product identifier can be validated without having the user reenter this information by setting the PIDKEY property on the command line or by using a transform. The display of the dialog box requesting the user to enter the product identifier can then be made conditional upon the presence of the ProductID property, which is set when the PIDKEY property is validated. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Initiates the internal installation costing process. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the CostInitialize action to make all final cost calculations available to the installer through the Component table. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Initiates dynamic costing of standard installation actions. Any standard or custom actions that affect costing should sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the FileCost action to make all final cost calculations available to the installer through the Component table. The CostInitialize action must be executed before the FileCost action. The installer then determines the disk-space cost of every file in the File table, on a per-component basis, taking both volume clustering and the presence of existing files that may need to be overwritten into account. All actions that consume or release disk space are also considered. If an existing file is found, a file version check is performed to determine whether the new file actually needs to be installed or not. If the existing file is of an equal or greater version number, the existing file is not overwritten and no disk-space cost is incurred. In all cases, the installer uses the results of version number checking to set the installation state of each file. The FileCost action initializes cost calculation with the installer. Actual dynamic costing does not occur until the CostFinalize action is executed. The condition for this action may be specified in the element's inner text. - - - - - - - - - Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). This isolates the application from other copies of the component that may be installed to a shared location on the computer. The action refers to each record of the IsolatedComponent table and associates the files of the component listed in the Component_Shared field with the component listed in the Component_Application field. The installer installs the files of Component_Shared into the same directory as Component_Application. The installer generates a file in this directory, zero bytes in length, having the short filename name of the key file for Component_Application (typically this is the same file name as the .exe) appended with .local. The IsolatedComponent action does not affect the installation of Component_Application. Uninstalling Component_Application also removes the Component_Shared files and the .local file from the directory. The IsolateComponents action can be used only in the InstallUISequence table and the InstallExecuteSequence table. This action must come after the CostInitialize action and before the CostFinalize action. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Ends the internal installation costing process begun by the CostInitialize action. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action and then call the CostFinalize action to make all final cost calculations available to the installer through the Component table. The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections or directories. The CostFinalize action queries the Condition table to determine which features are scheduled to be installed. Costing is done for each component in the Component table. The CostFinalize action also verifies that all the target directories are writable before allowing the installation to continue. The condition for this action may be specified in the element's inner text. - - - - - - - - Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. The condition for this action may be specified in the element's inner text. - - - - - - - - Used for upgrading or installing over an existing application. Reads feature states from existing application and sets these feature states for the pending installation. The condition for this action may be specified in the element's inner text. - - - - - - - - Initiates the execution sequence. The condition for this action may be specified in the element's inner text. - - - - - - - - Verifies that all costed volumes have enough space for the installation. The condition for this action may be specified in the element's inner text. - - - - - - - - - Marks the beginning of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Ensures the needed amount of space exists in the registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers and unregisters components, their key paths, and the component clients. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the unadvertisement of components listed in the PublishComponent table. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the unadvertisement of CLR and Win32 assemblies that are being removed. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes selection-state and feature-component mapping information from the registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Stops system services. The condition for this action may be specified in the element's inner text. - - - - - - - - Stops a service and removes its registration from the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes COM+ applications from the registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. The condition for this action may be specified in the element's inner text. - - - - - - - - Unregisters type libraries from the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes the data sources, translators, and drivers listed for removal during the installation. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes registration information about installed fonts from the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the removal of COM class information from the system registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the removal of extension-related information from the system registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the unregistration of OLE ProgId information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Unregisters MIME-related registry information from the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation. The condition for this action may be specified in the element's inner text. - - - - - - - - Modifies the values of environment variables. The condition for this action may be specified in the element's inner text. - - - - - - - - Deletes files installed by the DuplicateFiles action. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes files previously installed by the InstallFiles action. The condition for this action may be specified in the element's inner text. - - - - - - - - Removes any folders linked to components set to be removed or run from source. The condition for this action may be specified in the element's inner text. - - - - - - - - Creates empty folders for components that are set to be installed. The condition for this action may be specified in the element's inner text. - - - - - - - - - Locates existing files on the system and moves or copies those files to a new location. The condition for this action may be specified in the element's inner text. - - - - - - - - Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text. - - - - - - - - Copies files specified in the File table from the source directory to the destination directory. The condition for this action may be specified in the element's inner text. - - - - - - - - Duplicates files installed by the InstallFiles action. The condition for this action may be specified in the element's inner text. - - - - - - - - Queries the Patch table to determine which patches are to be applied. The condition for this action may be specified in the element's inner text. - - - - - - - - - Binds each executable or DLL that must be bound to the DLLs imported by it. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the creation of shortcuts. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the registration of COM class information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the registration of extension related information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the registration of OLE ProgId information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers MIME-related registry information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Sets up an application's registry information. The condition for this action may be specified in the element's inner text. - - - - - - - - Writes the .ini file information that the application needs written to its .ini files. The condition for this action may be specified in the element's inner text. - - - - - - - - Modifies the values of environment variables. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers installed fonts with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers type libraries with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Processes all modules listed in the SelfReg table and registers all installed modules with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers COM+ applications. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers a service for the system. The condition for this action may be specified in the element's inner text. - - - - - - - - Starts system services. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers the user information with the installer to identify the user of a product. The condition for this action may be specified in the element's inner text. - - - - - - - - Registers the product information with the installer. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the advertisement of the components from the PublishComponent table. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the advertisement of CLR and Win32 assemblies. The condition for this action may be specified in the element's inner text. - - - - - - - - Writes each feature's state into the system registry. The condition for this action may be specified in the element's inner text. - - - - - - - - Manages the advertisement of the product information with the system. The condition for this action may be specified in the element's inner text. - - - - - - - - - Marks the end of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text. - - - - - - - - - - - - - Uses file signatures to search for existing versions of products. The AppSearch action may use this information to determine where upgrades are to be installed. The AppSearch action can also be used to set a property to the existing value of an registry or .ini file entry. AppSearch should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents The AppSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The AppSearch action searches for file signatures using the CompLocator table first, the RegLocator table next, then the IniLocator table, and finally the DrLocator table. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The CCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents the CCPSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The CCPSearch action must come before the RMCCPSearch action. The condition for this action may be specified in the element's inner text. - - - - - - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The RMCCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents RMCCPSearch from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The RMCCPSearch action requires the CCP_DRIVE property to be set to the root path on the removable volume that has the installation for any of the qualifying products. The condition for this action may be specified in the element's inner text. - - - - - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. If any of these conditional statements fail, an error message is displayed to the user and the installation is terminated. The LaunchConditions action is optional. This action is normally the first in the sequence, but the AppSearch Action may be sequenced before the LaunchConditions action. If there are launch conditions that do not apply to all installation modes, the appropriate installation mode property should be used in a conditional expression in the appropriate sequence table. The condition for this action may be specified in the element's inner text. - - - - - - - - - Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. When FindRelatedProducts detects a correspondence between the upgrade information and an installed product, it appends the product code to the property specified in the ActionProperty column of the UpgradeTable. The FindRelatedProducts action only runs the first time the product is installed. The FindRelatedProducts action does not run during maintenance mode or uninstallation. FindRelatedProducts should be authored into the InstallUISequence table and InstallExecuteSequence tables. The installer prevents FindRelatedProducts from running in InstallExecuteSequence if the action has already run in InstallUISequence. The FindRelatedProducts action must come before the MigrateFeatureStates action and the RemoveExistingProducts action. The condition for this action may be specified in the element's inner text. - - - - - - - - Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Should only be used after InstallExecute. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Disables rollback for the remainder of the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Prompts the user to restart the system at the end of installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Prompts the user for a restart of the system during the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. - - - - - - - - - Use to sequence a custom action. - - - - - - Text node specifies the condition of the action. - - - - The action to which the Custom element applies. - - - - - Mutually exclusive with Before, After, and Sequence attributes - - - - - The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes - - - - - The name of the standard or custom action after which this action should be performed. Mutually exclusive with Before, OnExit, and Sequence attributes - - - - - - If "yes", the sequencing of this action may be overridden by sequencing elsewhere. - - - - - - The sequence number for this action. Mutually exclusive with Before, After, and OnExit attributes - - - - - - - - - - - - - - mutually exclusive with Before, After, and Sequence attributes - - - - - - - - If "yes", the sequencing of this dialog may be overridden by sequencing elsewhere. - - - - - - - - - - - - - - - - - - - - Use to sequence a custom action. - - - - - Displays a Dialog. - - - - - Prompts the user to restart the system at the end of installation. Not fixed sequence. - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. - - - - - Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. - - - - - Uses file signatures to search for existing versions of products. - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. - - - - - Sets the ProductID property to the full product identifier. - - - - - Initiates the internal installation costing process. - - - - - Initiates dynamic costing of standard installation actions. - - - - - Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). - - - - - Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Used for upgrading or installing over an existing application. - - - - - Initiates the execution sequence. - - - - - - - - - - - - - - - - - Use to sequence a custom action. - - - - - Prompts the user to restart the system at the end of installation. Not fixed sequence. - - - - - Prompts the user for a restart of the system during the installation. Not fixed sequence. - - - - - Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Not fixed sequence. - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. - - - - - Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. - - - - - Uses file signatures to search for existing versions of products. - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. - - - - - Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. - - - - - Sets the ProductID property to the full product identifier. - - - - - Initiates the internal installation costing process. - - - - - Initiates dynamic costing of standard installation actions. - - - - - Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. - - - - - Used for upgrading or installing over an existing application. - - - - - Verifies that all costed volumes have enough space for the installation. - - - - - Marks the beginning of a sequence of actions that change the system. - - - - - Ensures the needed amount of space exists in the registry. - - - - - Registers and unregisters components, their key paths, and the component clients. - - - - - Manages the unadvertisement of components listed in the PublishComponent table. - - - - - Removes selection-state and feature-component mapping information from the registry. - - - - - Stops system services. - - - - - Stops a service and removes its registration from the system. - - - - - Removes COM+ applications from the registry. - - - - - Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. - - - - - Unregisters type libraries from the system. - - - - - Removes the data sources, translators, and drivers listed for removal during the installation. - - - - - Removes registration information about installed fonts from the system. - - - - - Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled. - - - - - Manages the removal of COM class information from the system registry. - - - - - Manages the removal of extension-related information from the system registry. - - - - - Manages the unregistration of OLE ProgId information with the system. - - - - - Unregisters MIME-related registry information from the system. - - - - - Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source. - - - - - Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation. - - - - - Modifies the values of environment variables. - - - - - Deletes files installed by the DuplicateFiles action. - - - - - Removes files previously installed by the InstallFiles action. - - - - - Removes any folders linked to components set to be removed or run from source. - - - - - Creates empty folders for components that are set to be installed. - - - - - Locates existing files on the system and moves or copies those files to a new location. - - - - - Copies files specified in the File table from the source directory to the destination directory. - - - - - Duplicates files installed by the InstallFiles action. - - - - - Queries the Patch table to determine which patches are to be applied. - - - - - Binds each executable or DLL that must be bound to the DLLs imported by it. - - - - - Manages the creation of shortcuts. - - - - - Manages the registration of COM class information with the system. - - - - - Manages the registration of extension related information with the system. - - - - - Manages the registration of OLE ProgId information with the system. - - - - - Registers MIME-related registry information with the system. - - - - - Sets up an application's registry information. - - - - - Writes the .ini file information that the application needs written to its .ini files. - - - - - Modifies the values of environment variables. - - - - - Registers installed fonts with the system. - - - - - Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. - - - - - Registers type libraries with the system. - - - - - Processes all modules listed in the SelfReg table and registers all installed modules with the system. - - - - - Registers COM+ applications. - - - - - Registers a service for the system. - - - - - Starts system services. - - - - - Registers the user information with the installer to identify the user of a product. - - - - - Registers the product information with the installer. - - - - - Manages the advertisement of the components from the PublishComponent table. - - - - - Writes each feature's state into the system registry. - - - - - Manages the advertisement of the product information with the system. - - - - - Marks the end of a sequence of actions that change the system. - - - - - Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. - - - - - Disables rollback for the remainder of the installation. - - - - - - Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. - - - - - Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. - - - - - - Manages the advertisement of CLR and Win32 assemblies. - - - - - Manages the unadvertisement of CLR and Win32 assemblies that are being removed. - - - - - - - - - - - - - - - - Use to sequence a custom action. - - - - - - Initiates the internal installation costing process. - - - - - Initiates dynamic costing of standard installation actions. - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Initiates the execution sequence. - - - - - Verifies that all costed volumes have enough space for the installation. - - - - - Marks the beginning of a sequence of actions that change the system. - - - - - Copies the product database to the administrative installation point. - - - - - Copies files specified in the File table from the source directory to the destination directory. - - - - - Marks the end of a sequence of actions that change the system. - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. - - - - - - - - - - - - - - - - Use to sequence a custom action. - - - - - Initiates the internal installation costing process. - - - - - Initiates dynamic costing of standard installation actions. - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Verifies that all costed volumes have enough space for the installation. - - - - - Marks the beginning of a sequence of actions that change the system. - - - - - Copies the product database to the administrative installation point. - - - - - Copies files specified in the File table from the source directory to the destination directory. - - - - - Queries the Patch table to determine which patches are to be applied. - - - - - Marks the end of a sequence of actions that change the system. - - - - - Queries the LaunchCondition table and evaluates each conditional statement recorded there. - - - - - Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. - - - - - - - - - - - - - - - - Initiates the internal installation costing process. - - - - - Ends the internal installation costing process begun by the CostInitialize action. - - - - - Use to sequence a custom action. The only custom actions that are allowed in the AdvtExecuteSequence are type 19 (0x013) type 35 (0x023) and type 51 (0x033). - - - - - Verifies that all costed volumes have enough space for the installation. - - - - - Marks the beginning of a sequence of actions that change the system. - - - - - Manages the creation of shortcuts. - - - - - Manages the registration of COM class information with the system. - - - - - Manages the registration of extension related information with the system. - - - - - Registers MIME-related registry information with the system. - - - - - Manages the registration of OLE ProgId information with the system. - - - - - Manages the advertisement of the components from the PublishComponent table. - - - - - Writes each feature's state into the system registry. - - - - - Manages the advertisement of the product information with the system. - - - - - Marks the end of a sequence of actions that change the system. - - - - - - Manages the advertisement of CLR and Win32 assemblies. - - - - - - - - - - Binary data used for CustomAction elements and UI controls. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - - - The Id cannot be longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters. - - - - - Path to the binary file. - - - - - - - - - - - - - Use to suppress modularization of this Binary identifier in merge modules. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Icon used for Shortcut, ProgId, or Class elements (but not UI controls) - - - - How To: Set your installer's icon in Add/Remove Programs - How To: Create a shortcut on the Start Menu - - - - - - The Id cannot be longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters. - - - - - Path to the icon file. - - - - - - - - - - - - - - - - - - - - - - - - - - - Element value is the condition. CDATA may be used to when a condition contains many XML characters - that must be escaped. It is important to note that each EmbeddedChainer element must have a mutually exclusive condition - to ensure that only one embedded chainer will execute at a time. If the conditions are not mutually exclusive the chainer - that executes is undeterministic. - - - - - Unique identifier for embedded chainer. - - - - - Value to append to the transaction handle and passed to the chainer executable. - - - - - - Reference to the Binary element that contains the chainer executable. Mutually exclusive with - the FileSource and PropertySource attributes. - - - - - - - Reference to the File element that is the chainer executable. Mutually exclusive with - the BinarySource and PropertySource attributes. - - - - - - - Reference to a Property that resolves to the full path to the chainer executable. Mutually exclusive with - the BinarySource and FileSource attributes. - - - - - - - - - - - Reference to an EmbeddedChainer element. This will force the entire referenced Fragment's contents - to be included in the installer database. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - Element value is the condition. Use CDATA if message contains delimiter characters. - - - - - - Specifies extra files to be extracted for use by the embedded UI, such as language resources. - - - - - - - Unique identifier for embedded UI.If this attribute is not specified the Name attribute or the file name - portion of the SourceFile attribute will be used. - - - - - - Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_USER messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_INFO messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_INSTALLSTART messages. - - - - - Embedded UI will not recieve any INSTALLLOGMODE_INSTALLEND messages. - - - - - - The name for the embedded UI DLL when it is extracted from the Product and executed. (Windows Installer - does not support the typical short filename and long filename combination for embedded UI files as it - does for other kinds of files.) If this attribute is not specified the file name portion of the SourceFile - attribute will be used. - - - - - - - Path to the binary file that is the embedded UI. This must be a DLL that exports the following - three entry points: InitializeEmbeddedUI, EmbeddedUIHandler and ShutdownEmbeddedUI. - - - - - - Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation. - - - - - - - - Defines a resource for use by the embedded UI. - - - - - - - - - - Identifier for the embedded UI resource. - - - - - - The name for the resource when it is extracted from the Product for use by the embedded UI DLL. (Windows - Installer does not support the typical short filename and long filename combination for embedded UI files - as it does for other kinds of files.) If this attribute is not specified the Id attribute will be used. - - - - - - Path to the binary file that is the embedded UI resource. - - - - - - - - - - - - - - - Element value is Message, use CDATA if message contains delimiter characters - - - - Number of the error for which a message is being provided. See MSI SDK for error definitions. - - - - - - - - - - - - - - - - - The element value is the optional Condition expression. - - - - - The parent Control for this Publish element, should only be specified when this element is a child of the UI element. - - - - - - - The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element. - This attribute will create a reference to the specified Dialog, so an additional DialogRef is not necessary. - - - - - - - Set this attribute's value to one of the standard control events to trigger that event. - Either this attribute or the Property attribute must be set, but not both at the same time. - - - - - - - This attribute should only need to be set if this element is nested under a UI element in order to - control the order in which this publish event will be started. - If this element is nested under a Control element, the default value will be one greater than any - previous Publish element's order (the first element's default value is 1). - If this element is nested under a UI element, the default value is always 1 (it does not get a - default value based on any previous Publish elements). - - - - - - - Set this attribute's value to a property name to set that property. - Either this attribute or the Event attribute must be set, but not both at the same time. - - - - - - - If the Property attribute is specified, set the value of this attribute to the new value for the property. - To set a property to null, do not set this attribute (the ControlEvent Argument column will be set to '{}'). - Otherwise, this attribute's value should be the argument for the event specified in the Event attribute. - If the event doesn't take an attribute, a common value to use is "0". - - - - - - - - - - - Sets attributes for events in the EventMapping table - - - - - - - - - must be one of the standard control events' - - - - - if not present can only handle enable, disable, hide, unhide events - - - - - - - - An alternative to using the Text attribute when the value contains special XML characters like <, >, or &. - - - - - - - - Instructs the text to be imported from a file instead of the element value during the binding process. - - - - - - - - - - - - - - - - - - - - - - - - Contains the controls that appear on each dialog. - - - - - - alternative to Text attribute when CDATA is needed to escape XML delimiters - - - - - ComboBox table with ListItem children - - - - - ListBox table with ListItem children - - - - - ListView table with ListItem children - - - - - RadioButton table with RadioButton children - - - - - Property table entry for the Property table column associated with this control - - - - - Icon referenced in icon column of row - - - - - child elements affecting operation of this control - - - - Condition to specify actions for this control based on the outcome of the condition. - - - - - - - - - Combined with the Dialog Id to make up the primary key of the Control table. - - - - - The type of the control. Could be one of the following: Billboard, Bitmap, CheckBox, ComboBox, DirectoryCombo, DirectoryList, Edit, GroupBox, Hyperlink, Icon, Line, ListBox, ListView, MaskedEdit, PathEdit, ProgressBar, PushButton, RadioButtonGroup, ScrollableText, SelectionTree, Text, VolumeCostList, VolumeSelectCombo - - - - - Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. - - - - - Vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. - - - - - Width of the rectangular boundary of the control. This must be a non-negative number. - - - - - Height of the rectangular boundary of the control. This must be a non-negative number. - - - - - The name of a defined property to be linked to this control. This column is required for active controls. - - - - - A localizable string used to set the initial text contained in a control. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see Formatted for details. - - - - - This attribute is reserved for future use. There is no need to use this until Windows Installer uses it for something. - - - - - The string used for the Tooltip. - - - - - This attribute is only valid for CheckBox Controls. When set, the linked Property will be set to this value when the check box is checked. - - - - - This attribute is only valid for CheckBox controls. The value is the name of a Property that was already used as the Property for another CheckBox control. The Property attribute cannot be specified. The attribute exists to support multiple checkboxes on different dialogs being tied to the same property. - - - - - - Set this attribute to "yes" to cause this Control to be skipped in the tab sequence. - - - - - Set this attribute to "yes" to cause this Control to be invoked by the return key. - - - - - Set this attribute to "yes" to cause this Control to be invoked by the escape key. - - - - - - Set this attribute to "yes" to cause the Control to be hidden. - - - - - Set this attribute to "yes" to cause the Control to be disabled. - - - - - Set this attribute to "yes" to cause the Control to be sunken. - - - - - Specifies whether the value displayed or changed by this control is referenced indirectly. If this bit is set, the control displays or changes the value of the property that has the identifier listed in the Property column of the Control table. - - - - - Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string. - - - - - Set this attribute to "yes" to cause the Control to display from right to left. - - - - - Set this attribute to "yes" to cause the Control to be right aligned. - - - - - Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. - - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Text Controls. - - - - - This attribute is only valid for Edit Controls. - - - - - This attribute is only valid for Edit Controls. - - - - - This attribute is only valid for ProgressBar Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for Volume and Directory Controls. - - - - - This attribute is only valid for VolumeCostList Controls. - - - - - This attribute is only valid for ListBox, ListView, and ComboBox Controls. Set - the value of this attribute to "yes" to have entries appear in the order specified under the Control. - If the attribute value is "no" or absent the entries in the control will appear in alphabetical order. - - - - - - This attribute is only valid for ComboBox Controls. - - - - - This attribute is only valid for RadioButton, PushButton, and Icon Controls. - - - - - This attribute is only valid for RadioButton, PushButton, and Icon Controls. - - - - - - - - - - - - This attribute is only valid for RadioButton, PushButton, and Icon Controls. - - - - - This attribute is only valid for RadioButton and PushButton Controls. - - - - - This attribute is only valid for RadioButton and PushButton Controls. - - - - - This attribute is only valid for RadioButton and Checkbox Controls. - - - - - This attribute is only valid for RadioButton Controls. - - - - - - This attribute is only valid for PushButton controls. - Set this attribute to "yes" to add the User Account Control (UAC) elevation icon (shield icon) to the PushButton control. - If this attribute's value is "yes" and the installation is not yet running with elevated privileges, - the pushbutton control is created using the User Account Control (UAC) elevation icon (shield icon). - If this attribute's value is "yes" and the installation is already running with elevated privileges, - the pushbutton control is created using the other icon attributes. - Otherwise, the pushbutton control is created using the other icon attributes. - - - - - - - - - Billboard to display during install of a Feature - - - - - - - - - - - Only controls of static type such as: Text, Bitmap, Icon, or custom control can be placed on a billboard. - - - - - - Unique identifier for the Billboard. - - - - - Feature whose state determines if the Billboard is shown. - - - - - - - - Billboard action during which child Billboards are displayed - - - - - - - - - - - Order of Billboard elements determines order of display - - - - - - Action name that determines when the Billboard should be shown. - - - - - - - - - - - - - - - - Defines a dialog box in the Dialog Table. - - - - - - - Control elements belonging to this dialog. - - - - - - Unique identifier for the dialog. - - - - - Horizontal placement of the dialog box as a percentage of screen width. The default value is 50. - - - - - Vertical placement of the dialog box as a percentage of screen height. The default value is 50. - - - - - The width of the dialog box in dialog units. - - - - - The height of the dialog box in dialog units. - - - - - The title of the dialog box. - - - - - - Used to hide the dialog. - - - - - Used to set the dialog as modeless. - - - - - Used to specify if the dialog can be minimized. - - - - - Used to set the dialog as system modal. - - - - - Keep modeless dialogs alive when this dialog is created through DoAction. - - - - - Have the dialog periodically call the installer to check if available disk space has changed. - - - - - Used to specify if pictures in the dialog box are rendered with a custom palette. - - - - - Used to specify if the text in the dialog should be displayed in right to left reading order. - - - - - Align text on the right. - - - - - Used to align the scroll bar on the left. - - - - - Specifies this dialog as an error dialog. - - - - - - - - - - - Reference to a Dialog. This will cause the entire referenced section's contents - to be included in the installer database. - - - - - - The identifier of the Dialog to reference. - - - - - - - - - - - - - - - Element value is progress message text for action - - - - - used to format ActionData messages from action processing - - - - - - - - - - - - - - - - - - - 0 to 255 - - - - - 0 to 255 - - - - - 0 to 255 - - - - - - - - - - - - The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. - - - - - - - - - - - - The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected. - - - - - - - The localizable, visible text to be assigned to the item. - If not specified, this will default to the value of the Value attribute. - - - - - - - The identifier of the Binary (not Icon) element containing the icon to associate with this item. - This value is only valid when nested under a ListView element. - - - - - - - - - Set of items for a particular ListBox control tied to an install Property - - - - - - - - - - - - entry for ListBox table - - - - - - Property tied to this group - - - - - - - - Set of items for a particular ComboBox control tied to an install Property - - - - - - - - - - - - entry for ComboBox table - - - - - - Property tied to this group - - - - - - - - Set of items for a particular ListView control tied to an install Property - - - - - - - - - - - - entry for ListView table - - - - - - Property tied to this group - - - - - - - - - - - - - Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup). - - - - - - This attribute defines the bitmap displayed with the radio button. The value of the attribute creates a reference - to a Binary element that represents the bitmap. This attribute is mutually exclusive with the Icon and Text - attributes. - - - - - - - - - This attribute defines the icon displayed with the radio button. The value of the attribute creates a reference - to a Binary element that represents the icon. This attribute is mutually exclusive with the Bitmap and Text - attributes. - - - - - - Text displayed with the radio button. This attribute is mutually exclusive with the Bitmap and Icon attributes. - - - - - - Value assigned to the associated control Property when this radio button is selected. - - - - - - - - - - - Set of radio buttons tied to the specified Property - - - - - - - - - - - - - - Property tied to this group. - - - - - - - - Text associated with certain controls - - - - - - - - - - Element value is text, may use CDATA if needed to escape XML delimiters - - - - - - - - - - Reference to a UI element. This will force the entire referenced Fragment's contents - to be included in the installer database. - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - Enclosing element to compartmentalize UI specifications. - - - - - - - - - - Embedded UI definition with EmbeddedResource children. - - - - - Error text associated with install error - - - - - ActionText entry associated with an action - - - - - Billboard table item with child Controls - - - - - ComboBox table with ListItem children - - - - - ListBox table with ListItem children - - - - - ListView table with ListItem children - - - - - RadioButton table with RadioButton children - - - - - TextStyle entry for use in control text - - - - - values for UIText property, not installer Property - - - - - Dialog specification, called from Sequence - - - - - Reference to a Dialog specification. - - - - - - - - - - - - - - - - - - - - Defines a custom table for use from a custom action. - - - - - - Column definition for the custom table. - - - - - Row definition for the custom table. - - - - - - Identifier for the custom table. - - - - - Indicates the table data is transformed into the bootstrapper application data manifest. - - - - - - - Column definition for a Custom Table - - - - - Identifier for the column. - - - - - Whether this column is a primary key. - - - - - The type of this column. - - - - - - - Column contains a path to a file that will be inserted into the column as a binary object. - If this value is set, the Category attribute must also be set with a value of 'Binary' to pass ICE validation. - - - - - - - Column contains an integer or datetime value (the MinValue and MaxValue attributes should also be set). - - - - - - - Column contains a non-localizable string value. - - - - - - - - - Width of this column. - - - - - Whether this column can be left null. - - - - - Whether this column can be localized. - - - - - Minimum value for a numeric value, date or version in this column. - - - - - Maximum value for a numeric value, date or version in this column. - - - - - Table in which this column is an external key. Can be semicolon delimited. - - - - - Column in the table in KeyTable attribute. - - - - - - Category of this column. - This attribute must be specified with a value of 'Binary' if the Type attribute's value is 'binary'. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Semicolon delimited list of permissible values. - - - - - Description of this column. - - - - - How this column should be modularized, if at all. - - - - - - - Column should not be modularized. This is the default value. - - - - - - - Column should be modularized. - - - - - - - Column is a condition and should be modularized. - - - - - - - When the column is an primary or foreign key to the Icon table it should be modularized special. - - - - - - - Any Properties in the column should be modularized. - - - - - - - Semi-colon list of keys, all of which need to be modularized. - - - - - - - - - - - Row data for a Custom Table - - - - - - - - - - Used for a Custom Table. Specifies the data for the parent Row and specified Column. - - - - - - A data value - - - - Specifies in which column to insert this data. - - - - - - - - - - - Use this element to ensure that a table appears in the installer database, even if its empty. - - - - This element is particularly useful for two problems that may occur while merging merge modules: - - The first likely problem is that in order to properly merge you need to have certain - tables present prior to merging. Using this element is one way to ensure those tables - are present prior to the merging. - - The other common problem is that a merge module has incorrect validation information - about some tables. By ensuring these tables prior to merging, you can avoid this - problem because the correct validation information will go into the installer database - before the merge module has a chance to set it incorrectly. - - - - - - - The name of the table. - - - - - - - - This element exposes advanced WiX functionality. Use this element to declare WiX variables - from directly within your authoring. WiX variables are not resolved until the final msi/msm/pcp - file is actually generated. WiX variables do not persist into the msi/msm/pcp file, so they cannot - be used when an MSI file is being installed; it's a WiX-only concept. - - - - - - The name of the variable. - - - - - - Set this value to 'yes' in order to make the variable's value overridable either by - another WixVariable entry or via the command-line option -d<name>=<value> - for light.exe. If the same variable is declared overridable in multiple places it - will cause an error (since WiX won't know which value is correct). The default value - is 'no'. - - - - - - - The value of the variable. The value cannot be an empty string because that would - make it possible to accidentally set a column to null. - - - - - - - - - Use this element to contain definitions for instance transforms. - - - - - - - - - The Id of the Property who's value should change for each instance. - - - - - - - - Defines an instance transform for your product. - - - - - - - The identity of the instance transform. This value will define the name by which the instance - should be referred to on the command line. In addition, the value of the this attribute will - determine what the value of the property specified in Property attribute on InstanceTransforms - will change to for each instance. - - - - - - The ProductCode for this instance. - - - - - The ProductName for this instance. - - - - - The UpgradeCode for this instance. - - - - - - - - Simplifies authoring for major upgrades, including support for preventing downgrades. - - The parent Product element must have valid UpgradeCode and Version attributes. - - When the FindRelatedProducts action detects a related product installed on the system, - it appends the product code to the property named WIX_UPGRADE_DETECTED. After the - FindRelatedProducts action is run, the value of the WIX_UPGRADE_DETECTED property is a - list of product codes, separated by semicolons (;), detected on the system. - - - - - - - - - - When set to no (the default), products with lower version numbers are blocked from - installing when a product with a higher version is installed; the DowngradeErrorMessage - attribute must also be specified. - - When set to yes, any version can be installed over any other version. - - - - - - - When set to no (the default), installing a product with the same version and upgrade code - (but different product code) is allowed and treated by MSI as two products. When set to yes, - WiX sets the msidbUpgradeAttributesVersionMaxInclusive attribute, which tells MSI to treat - a product with the same version as a major upgrade. - - This is useful when two product versions differ only in the fourth version field. MSI - specifically ignores that field when comparing product versions, so two products that - differ only in the fourth version field are the same product and need this attribute set to - yes to be detected. - - Note that because MSI ignores the fourth product version field, setting this attribute to - yes also allows downgrades when the first three product version fields are identical. - For example, product version 1.0.0.1 will "upgrade" 1.0.0.2998 because they're seen as the - same version (1.0.0). That could reintroduce serious bugs so the safest choice is to change - the first three version fields and omit this attribute to get the default of no. - - This attribute cannot be "yes" when AllowDowngrades is also "yes" -- AllowDowngrades - already allows two products with the same version number to upgrade each other. - - - - - - - When set to yes, products with higer version numbers are blocked from - installing when a product with a lower version is installed; the UpgradeErrorMessage - attribute must also be specified. - - When set to no (the default), any version can be installed over any lower version. - - - - - - - The message displayed if users try to install a product with a lower version number - when a product with a higher version is installed. Used only when AllowDowngrades - is no (the default). - - - - - - - The message displayed if users try to install a product with a higer version number - when a product with a lower version is installed. Used only when Disallow - is yes. - - - - - - - When set to yes (the default), the MigrateFeatureStates standard action will set the - feature states of the upgrade product to those of the installed product. - - When set to no, the installed features have no effect on the upgrade installation. - - - - - - - When set to yes, the Upgrade table rows will match any product with the same UpgradeCode. - - When set to no (the default), the Upgrade table rows will match only products with the - same UpgradeCode and ProductLanguage. - - - - - - - When set to yes, failures removing the installed product during the upgrade will be - ignored. - - When set to no (the default), failures removing the installed product during the upgrade - will be considered a failure and, depending on the scheduling, roll back the upgrade. - - - - - - - A formatted string that contains the list of features to remove from the installed - product. The default is to remove all features. Note that if you use formatted property - values that evaluate to an empty string, no features will be removed; only omitting - this attribute defaults to removing all features. - - - - - - - Determines the scheduling of the RemoveExistingProducts standard action, which is when - the installed product is removed. The default is "afterInstallValidate" which removes - the installed product entirely before installing the upgrade product. It's slowest but - gives the most flexibility in changing components and features in the upgrade product. - - For more information, see RemoveExistingProducts. - - - - - - - - (Default) Schedules RemoveExistingProducts after the InstallValidate standard - action. This scheduling removes the installed product entirely before installing - the upgrade product. It's slowest but gives the most flexibility in changing - components and features in the upgrade product. Note that if the installation - of the upgrade product fails, the machine will have neither version installed. - - - - - - - Schedules RemoveExistingProducts after the InstallInitialize standard action. - This is similar to the afterInstallValidate scheduling, but if the installation - of the upgrade product fails, Windows Installer also rolls back the removal of - the installed product -- in other words, reinstalls it. - - - - - - - Schedules RemoveExistingProducts between the InstallExecute and InstallFinalize standard actions. - This scheduling installs the upgrade product "on top of" the installed product then lets - RemoveExistingProducts uninstall any components that don't also exist in the upgrade product. - Note that this scheduling requires strict adherence to the component rules because it relies - on component reference counts to be accurate during installation of the upgrade product and - removal of the installed product. For more information, see - - Bob Arnson's blog post "Paying for Upgrades" - for details. If installation of the upgrade product fails, Windows Installer - also rolls back the removal of the installed product -- in other words, reinstalls it. - - - - - - - Schedules RemoveExistingProducts between the InstallExecuteAgain and InstallFinalize standard actions. - This is identical to the afterInstallExecute scheduling but after the InstallExecuteAgain standard - action instead of InstallExecute. - - - - - - - Schedules RemoveExistingProducts after the InstallFinalize standard action. This is similar to the - afterInstallExecute and afterInstallExecuteAgain schedulings but takes place outside the - installation transaction so if installation of the upgrade product fails, Windows Installer does - not roll back the removal of the installed product, so the machine will have both versions - installed. - - - - - - - - - - - - - - - - - - - - Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. - - - - - Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. - - - - - Specifies the set of languages detected by FindRelatedProducts. Enter a list of numeric language identifiers (LANGID) separated by commas (,). Leave this value null to specify all languages. Set ExcludeLanguages to "yes" in order detect all languages, excluding the languages listed in this value. - - - - - Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default. - - - - - Set to "yes" to make the range of versions detected include the value specified in Maximum. - - - - - Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. - - - - - This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - - - - - - - - - Text node specifies the condition of the action. - - - - The name of an action that this action should come after. - - - - - The name of an action that this action should come before. - - - - - - If "yes", the sequencing of this action may be overridden by sequencing elsewhere. - - - - - - A value used to indicate the position of this action in a sequence. - - - - - If yes, this action will not occur. - - - - - - - - - - - A value used to indicate the position of this action in a sequence. - - - - - If yes, this action will not occur. - - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples. - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". A GUID can be auto-generated by setting the value to "*". Also allows "PUT-GUID-HERE" for use in examples. - - - - - - - - Values of this type will either be "attached" or "detached". - - - - - - - - - The list of communcation protocols with executable packages Burn supports. - - - - - - - The executable package does not support a communication protocol. - - - - - - - The executable package is another Burn bundle and supports the Burn communication protocol. - - - - - - - The executable package implements the .NET Framework v4.0 communication protocol. - - - - - - - - Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}", but also allows "PUT-GUID-HERE" for use in examples. It's also possible to have an empty value "". - - - - - - - - Values of this type must be an integer or the value can be a localization variable with the format !(loc.Variable) where "Variable" is the name of the variable. - - - - - - - - Values of this type will look like: "FileName.ext". Only one period is allowed. The following characters are not allowed: \ ? | > : / * " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE). - - - - - - - - Values of this type will look like: "Long File Name.extension". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ ? | > : / * " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE). - - - - - - - - Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. - - - - - - - - Values of this type will look like: "File?.*". Only one period is allowed. The following characters are not allowed: \ | > : / " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE). - - - - - - - - Values of this type will look like: "Long File N?me.extension*". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ | > : / " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE). - - - - - - - - This type supports any hexadecimal number. Both upper and lower case is acceptable for letters appearing in the number. This type also includes the empty string: "". - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - Values of this type will either be "yes" or "no". - - - - - - - - - Values of this type will either be "button", "yes" or "no". - - - - - - Values of this type will either be "button", "yes" or "no". - - - - - - - - - - Values of this type will either be "default", "yes", or "no". - - - - - - Values of this type will either be "default", "yes", or "no". - - - - - - - - - - Values of this type will either be "always", "yes", or "no". - - - - - - Values of this type will either be "always", "yes", or "no". - - - - - - - - - - Values of this type represent possible registry roots. - - - - - - A per-user installation will make the operation occur under HKEY_CURRENT_USER. - A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. - - - - - - - Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value - from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, - the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. - - - - - - - Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values - in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. - - - - - - - Operation occurs under HKEY_LOCAL_MACHINE. - - - - - - - Operation occurs under HKEY_USERS. - - - - - - - - Value indicates that this action is executed if the installer returns the associated exit type. Each exit type can be used with no more than one action. - Multiple actions can have exit types assigned, but every action and exit type must be different. Exit types are typically used with dialog boxes. - - - - - - - - - - - Specifies whether an action occur on install, uninstall or both. - - - - - - The action should happen during install (msiInstallStateLocal or msiInstallStateSource). - - - - - - - The action should happen during uninstall (msiInstallStateAbsent). - - - - - - - The action should happen during both install and uninstall. - - - - - - - - - Controls which sequences the item assignment is sequenced in. - - - - - - - Schedules the assignment in the InstallUISequence and the InstallExecuteSequence. - - - - - - - Schedules the assignment to run in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped. - - - - - - - Schedules the assignment only in the the InstallExecuteSequence. - - - - - - - Schedules the assignment only in the the InstallUISequence. - - - - - - - - - Indicates the compression level for a cabinet. - - - - - - - - Indicates the compression level for a cabinet. - - - - - - - - - - - - - A type that represents that 1 or more preprocessor variables (as they appear in sources on disk, before preprocessor has run). - - - - - - - - Values of this type must be an integer or the value of one or more preprocessor variables with the format $(var.Variable) where "Variable" is the name of the preprocessor variable. - - - - - - diff --git a/src/Votive2017/schemas/wixloc4.xsd b/src/Votive2017/schemas/wixloc4.xsd deleted file mode 100644 index 9f1814c..0000000 --- a/src/Votive2017/schemas/wixloc4.xsd +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - Schema for describing WiX Localization files (.wxl). - - - - - - - - You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252 or iso-8859-1. See Code Pages for more information. - - How To: Build a localized version of your installer - How To: Make your installer localizable - - - - - - - - - - The code page integer value or web name for the resulting database. You can also specify -1 which will not reset the database code page. See remarks for more information. - - - - - Culture of the localization strings. - - - - - The decimal language ID (LCID) for the culture. - - - - - - - - - How To: Build a localized version of your installer - How To: Make your installer localizable - - - - - - Identity of the resource. - - - - - Determines if the localized string may be overridden. - - - - - Indicates whether the string is localizable text or a non-localizable string that must be unique per locale. No WiX tools are affected by the value of this attribute; it used as documentation for localizers to ignore things like GUIDs or identifiers that look like text. - - - - - - - - Allows a localization to override the position, size, and text of dialogs and controls. Override the text by specifying the replacement text in the inner text of the UI element. - - - - - Identifies the dialog to localize or the dialog that a control to localize is in. - - - - - Combined with the Dialog attribute, identifies the control to localize. - - - - - For a dialog, overrides the authored horizontal centering. For a control, overrides the authored horizontal coordinate of the upper-left corner of the rectangular boundary. This must be a non-negative number. - - - - - For a dialog, overrides the authored vertical centering. For a control, overrides the authored vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. - - - - - For a dialog, overrides the authored width in dialog units. For a control, overrides the authored width of the rectangular boundary of the control. This must be a non-negative number. - - - - - For a dialog, overrides the authored height in dialog units. For a control, overrides the authored height of the rectangular boundary of the control. This must be a non-negative number. - - - - - Set this attribute to "yes" to cause the Control to display from right to left. Not valid for a dialog. - - - - - Set this attribute to "yes" to cause the Control to be right aligned. Not valid for a dialog. - - - - - Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. Not valid for a dialog. - - - - - - - - - - - - diff --git a/src/Votive2017/source.extension.vsixmanifest b/src/Votive2017/source.extension.vsixmanifest index d40b650..5646e72 100644 --- a/src/Votive2017/source.extension.vsixmanifest +++ b/src/Votive2017/source.extension.vsixmanifest @@ -14,7 +14,6 @@ - diff --git a/src/Votive2019/Votive2019.csproj b/src/Votive2019/Votive2019.csproj index bb03758..537b508 100644 --- a/src/Votive2019/Votive2019.csproj +++ b/src/Votive2019/Votive2019.csproj @@ -39,13 +39,6 @@ Schemas false - - {587D2A86-66CF-46B4-98C8-C01E20F1076D} - v4schemas - GetCopyToOutputDirectoryItems%3bVSIXContainerProjectOutputGroup%3b - Schemas - false - diff --git a/src/Votive2019/source.extension.vsixmanifest b/src/Votive2019/source.extension.vsixmanifest index d3f1b31..7b7b9f8 100644 --- a/src/Votive2019/source.extension.vsixmanifest +++ b/src/Votive2019/source.extension.vsixmanifest @@ -14,7 +14,6 @@ - diff --git a/src/Votive2022/Votive2022.csproj b/src/Votive2022/Votive2022.csproj index d123677..4c36830 100644 --- a/src/Votive2022/Votive2022.csproj +++ b/src/Votive2022/Votive2022.csproj @@ -53,13 +53,6 @@ Schemas false - - {587d2a86-66cf-46b4-98c8-c01e20f1076d} - v4schemas - Schemas - GetCopyToOutputDirectoryItems%3bVSIXContainerProjectOutputGroup%3b - false - diff --git a/src/Votive2022/source.extension.vsixmanifest b/src/Votive2022/source.extension.vsixmanifest index 07d3479..d0d2a83 100644 --- a/src/Votive2022/source.extension.vsixmanifest +++ b/src/Votive2022/source.extension.vsixmanifest @@ -14,7 +14,6 @@ -