是否可以创建一个简单的 WIX 安装程序,它只执行自定义操作,不执行其他任何操作?我知道我可以通过使用以下 WIX 标记让它工作,但是这仍然会在 Program Files 中创建一个文件夹,如果我删除 CreateFolder 行,它就不起作用。
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Product Id="*" Name="RegisterDotNetISS" Language="1033" Version="1.0.0.0" Manufacturer="MyCompanyhere" UpgradeCode="67825899-d511-4cd3-a8c1-b2dd448a74bd">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<PropertyRef Id="NETFRAMEWORK40FULLINSTALLROOTDIR"/>
<PropertyRef Id="NETFRAMEWORK40FULLINSTALLROOTDIR64"/>
<CustomAction Id='aspnetregiisi' ExeCommand='"[NETFRAMEWORK40FULLINSTALLROOTDIR]\aspnet_regiis.exe" -i -enable' Directory='TARGETDIR' />
<CustomAction Id='aspnetregiisix64' ExeCommand='"[NETFRAMEWORK40FULLINSTALLROOTDIR64]\aspnet_regiis.exe" -i -enable' Directory='TARGETDIR' />
<InstallExecuteSequence>
<Custom Action="aspnetregiisi" After="CostFinalize">NOT VersionNT64</Custom>
<Custom Action="aspnetregiisix64" After="CostFinalize">VersionNT64</Custom>
</InstallExecuteSequence>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="RegisterDotNetISS" >
<Component Id="Component1"
Guid="{78E22868-B750-47EB-9E4C-C19CCA939394}">
<CreateFolder />
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id="ProductFeature" Title="RegisterDotNetISS" Level="1">
<ComponentRef Id="Component1" />
</Feature>
</Product>
</Wix>
--EDIT-- 我正在考虑创建 WIX 安装程序而不是控制台应用程序,因为 .net 3.5 框架似乎在读取 64 位注册表时存在问题。在 4.0 中添加了执行此操作的简单功能,并且在 IIS 中注册 asp.net 的空安装程序似乎可以始终如一地工作。