Enabing IIS с использованием CAQuietExec64 в установщике Wix не работает
Мне нужно сделать установщик Windows, который включает (устанавливает) IIS на Windows. Когда я запускаю MSI-файл, он запускается без каких-либо ограничений, однако IIS не включается (не устанавливается), когда я захожу в меню "Программы и компоненты" / "Выключить функцию Windows", он не устанавливается.
Вот мой файл wxs:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="IISInstaller" Language="1033" Version="1.0.0.0" Manufacturer="Company" UpgradeCode="21ece05f-bf5c-4f97-850e-cb7cef2bf65e">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Property Id="QtExec64CmdLine" Value='"[WindowsFolder]Sysnative\dism.exe" /Online /Enable-Feature /FeatureName:IIS-ApplicationDevelopment /FeatureName:IIS-WebServer
/FeatureName:IIS-WebServerRole /FeatureName:IIS-RequestFiltering /FeatureName:IIS-Security
/FeatureName:IIS-NetFxExtensibility /FeatureName:IIS-ASPNET /FeatureName:IIS-ISAPIExtensions
/FeatureName:IIS-ISAPIFilter /FeatureName:IIS-DefaultDocument /FeatureName:IIS-HttpErrors /FeatureName:IIS-StaticContent
/FeatureName:IIS-HttpLogging /FeatureName:IIS-RequestMonitor /FeatureName:IIS-HttpCompressionStatic
/FeatureName:IIS-HttpCompressionDynamic /FeatureName:IIS-RequestFiltering /FeatureName:IIS-WindowsAuthentication'/>
<CustomAction Id="SilentLaunch" BinaryKey="WixCA" DllEntry="CAQuietExec64" Execute="immediate" Return="check" />
</Product>
</Wix>
даже когда я изменяю значение в свойстве, чтобы запустить простую команду, чтобы сделать каталог
mkdir test
это тоже не работает.
Не могли бы вы помочь мне в чем проблема? Спасибо
1 ответ
Две потенциальные проблемы:
- Вы объявили пользовательское действие, но не поместили его в последовательность, указав, где оно будет выполняться и какие условия применяются. Так что это не работает.
Шаг 2 отсутствует: http://wixtoolset.org/documentation/manual/v3/wixdev/extensions/authoring_custom_actions.html
- После того, как вы это сделаете, пользовательское действие помечается как немедленное, что обычно является ошибкой, поскольку изменения в системе должны выполняться в отложенном режиме, а немедленные пользовательские действия не выполняются с повышенными правами.