【问题标题】:Enabing IIS using CAQuietExec64 in Wix installer does not work在 Wix 安装程序中使用 CAQuietExec 64 启用 IIS 不起作用
【发布时间】:2017-02-16 17:28:13
【问题描述】:

我需要制作一个在 Windows 上启用(安装)IIS 的 Windows 安装程序。 当我运行 .msi 文件时,它运行时没有给出任何信息,但是当我转到程序和功能/关闭 Windows 功能时,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

它也不起作用。

你能帮我解决什么问题吗? 谢谢

【问题讨论】:

    标签: iis wix installation silent-installer


    【解决方案1】:

    两个潜在问题:

    1. 您已经声明了自定义操作,但您没有通过声明它将在何处运行以及适用哪些条件将其按顺序排列。所以它没有运行。

    缺少第 2 步:http://wixtoolset.org/documentation/manual/v3/wixdev/extensions/authoring_custom_actions.html

    1. 完成此操作后,自定义操作被标记为立即,这通常是一个错误,因为对系统的更改应该在延迟模式下完成,并且立即自定义操作不会以提升的方式运行。

    【讨论】:

    • 感谢您的回复。正如你提到的,我添加了 InstallExecuteSequence。并将 customAction 设置为延迟模式,并将 Impersonate 设置为 no。我也在命令行 msiexec /i installer.msi /L*V "package.log" 中运行它。它也不起作用。日志中唯一的错误是“安装成功或错误状态:1603”,微软支持上的一个链接说 SYSTEM 角色没有完全控制权,但事实并非如此。
    • 我会为此发布一个新问题 - 1603 几乎总是一个自定义操作失败,并且日志应该说明它是与 IIS 还是其他相关的问题。
    猜你喜欢
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 2013-06-02
    相关资源
    最近更新 更多