WiX安装程序安装silverlight Web应用程序.它可以在32位或64位应用程序池下工作.但是当安装完成后,我看到所选的应用程序池总是设置为启用32位应用程序.它甚至适用于64位池.它不适合使用,因为它可以更改以前安装的64个应用程序的现有池.
我没有明确地改变这个参数.问题可能是什么原因?
我没有明确地改变这个参数.问题可能是什么原因?
<Component Id="WebAppVDirComponent" Guid="C7A4B0E8-2389-4A2A-B285-96960BEE1C52" KeyPath="yes"> <Condition><![CDATA[RBGROUP_HOSTING = "iis"]]></Condition> <iis:WebVirtualDir Id="VDir" Alias="[WEB_APP_NAME]" Directory="INSTALLDIR" WebSite="TheWebSite" > <iis:MimeMap Id="SilverlightMimeType" Extension=".xap" Type="application/x-silverlight-app" /> <iis:WebApplication Id="WorkWebApplication" Name="[WEB_APP_NAME]" WebAppPool="TheAppPool"/> </iis:WebVirtualDir> <iis:WebAppPool Id="TheAppPool" Name="[APP_POOL_NAME]" ></iis:WebAppPool> <CreateFolder/> </Component>
解决方法
在我看来,这是以非常优雅的方式设计的.
如果您放置< iis:WebAppPool>元素声明到< Component>标记为Win64 =“yes”,将创建应用程序池,并将Enable32bit标志设置为false.否则(即默认情况下),将在Enable32bit设置为true的情况下创建它.
我不确定当你不用你的安装创建应用程序池时它会如何表现,而是引用现有的应用程序池.我希望它根本不会改变这个标志.您可以通过此实验来了解它的工作原理.
还有一个注意事项:我会避免安装到现有的应用程序池或网站.这要难以维护 – 请记住,卸载后必须让机器处于“预安装”状态.这意味着您必须维护备份/恢复您使用自定义操作更改的所有内容的状态… Brrr …