gpt4 book ai didi

iis - WiX 未正确配置 IIS 站点

转载 作者:行者123 更新时间:2023-12-04 02:25:02 27 4
gpt4 key购买 nike

我有一个配置 2 个网站的安装程序,其中一个在根站点下有一些应用程序。顶级站点仅配置为 Windows 身份验证,如下所示:

<iis:WebSite Id="WebSite"
Description="Application"
Directory="WEBSITE_INSTALLLOCATION"
AutoStart="yes"
ConfigureIfExists="yes"
StartOnInstall="yes">

<iis:WebAddress Id="AllUnassigned" Port="80" />

<iis:WebApplication Id="WebApplication"
Name="Console"
WebAppPool="WebAppPool"/>

<iis:WebDirProperties Id="WebProperties"
AnonymousAccess="no"
WindowsAuthentication="yes"
AuthenticationProviders="NTLM,Negotiate"/>

</iis:WebSite>

安装程序中的其他(可选)组件然后声明应用程序/虚拟目录,如下所示:
<iis:WebVirtualDir Id="HelpWebSite" Alias="Help" Directory="ApexHelpDir" WebSite="WebSite">
<iis:WebApplication Id="HelpApp" Name="Help" WebAppPool="WebAppPool"/>
<iis:WebDirProperties Id="HelpProps" AnonymousAccess="yes" WindowsAuthentication="no"/>
</iis:WebVirtualDir>

我看到的行为是我期望的 9/10 次,但安装程序会间歇性地安装带有匿名身份验证的“网站”站点 windows 身份验证,而不仅仅是具有匿名身份验证的帮助应用程序。我能想到的对此的唯一解释是,在根站点下添加虚拟目录/应用程序的行为偶尔会导致根继承子身份验证设置以及它自己的设置。

注:我试图在 wixtoolset.org 站点上将此作为错误提出,但在尝试这样做时一直出现错误。

最佳答案

或者,您可以编写批处理脚本来创建网站并从 WIX 调用作为自定义操作。

批处理文件

%systemroot%\system32\inetsrv\appcmd.exe add site /name:YourWebSite /PhysicalPath:%systemdrive%\inetpub\wwwroot /bindings:http/*:80:

WIX(product.wxs)
<CustomAction Id="CreateWebsite" Execute="deferred" Impersonate="no" Return="check" Directory="TARGETDIR" PatchUninstall="no" ExeCommand="Batchfilepath" />

<InstallExecuteSequence>
<Custom Action="CreateWebsite" Before="InstallFinalize">NOT Installed AND NOT PATCH</Custom>
</InstallExecuteSequence>

更改您的 ExeCommand 属性值以指向正确的批处理文件路径。

关于iis - WiX 未正确配置 IIS 站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19006249/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com