2017-02-16 21 views
0

我需要製作一個Windows安裝程序,它可以在Windows上啓用(安裝)IIS。 當我運行.msi文件時,它運行時沒有任何提供,但是當我去關閉程序和功能/打開Windows功能時沒有啓用(安裝),它沒有得到安裝在Wix安裝程序中使用CAQuietExec64啓用IIS不起作用

這是我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

兩個潛在的問題:

  1. 你已宣佈的自定義動作,但你還沒有把它放在一個序列通過聲明到哪裏去運行和應用什麼樣的條件。所以它沒有運行。

第二步丟失:http://wixtoolset.org/documentation/manual/v3/wixdev/extensions/authoring_custom_actions.html

  • 後你這樣做,自定義操作被標記立即它通常是一個錯誤,因爲更改系統應在延遲模式下完成,並且立即自定義操作不會升級。
  • +0

    感謝您的回覆。正如你所提到的,我添加了InstallExecuteSequence。並且將customAction設置爲延遲模式,將Impersonate設置爲no。我也在命令行msiexec/i installer.msi/L * V「package.log」中運行它。它也不起作用。日誌中唯一的錯誤是「安裝成功或錯誤狀態:1603」,Microsoft支持上的一個鏈接表示SYSTEM角色沒有完全控制,但情況並非如此。 –

    +1

    我會爲此發佈一個新問題 - 1603幾乎總是自定義操作失敗,並且日誌應該說明它是否與IIS或其他相關的問題有關。 – PhilDW

    相關問題