我们正在使用WIX 3.10在默认网站下创建Web应用程序,此实现工作正常,但问题是卸载产品,它不会删除默认网站下的Web应用程序。 网站端口和名称由用户输入,作为自定义对话框的一部分存储在相应的属性中。另外,在卸载期间,使用wix工具集记住属性http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern/恢复这些属性,该属性在卸载期间设置Web应用程序属性,但仍然是卸载时不会删除应用程序。 卸载在Appsearch之后设置网站属性的日志:
行动开始15:17:04:AppSearch。 MSI(s)(24:64)[15:17:04:657]:注意:1:2262 2:签名3:-2147287038 MSI(s)(24:64)[15:17:04:657]:物业变更:修改WEBSITEPORTPROPERTY物业。它的当前价值是'WEBSITEPORT'。它的新价值:'80'。 MSI(s)(24:64)[15:17:04:657]:注意:1:2262 2:签名3:-2147287038 MSI(s)(24:64)[15:17:04:657]:物业变更:修改WEBSITEPROPERTY物业。它的当前值是'WEBSITE'。它的新价值:'默认网站'。
<Fragment>
<iis:WebSite Id="SITE" Description="[WEBSITE]">
<iis:WebAddress Id="AllUnassigned" Port="[WEBSITEPORT]"/>
</iis:WebSite>
<DirectoryRef Id="INSTALLFOLDER">
<Component Id="TestAppPool" Guid="GUID" KeyPath="yes" Permanent="yes">
<iis:WebAppPool Id="TestAppPool"
Name="Test Net 4.0"
Identity="applicationPoolIdentity"
ManagedPipelineMode="Integrated"
ManagedRuntimeVersion="v4.0" />
</Component>
<Component Id="IIS.Component" Guid="GUID" KeyPath="yes" Permanent="no" Win64="yes">
<iis:WebVirtualDir Id="VirtualDir" Alias="[APPLICATION_NAME]" Directory="Dir" WebSite="SITE" >
<iis:WebApplication Id="Application" Name="[APPLICATION_NAME]" WebAppPool="TestAppPool"/>
</iis:WebVirtualDir>
<RegistryValue Root='HKLM' Key='SOFTWARE\Test\Prod' Name='Website' Value='[WEBSITE]' Type='string' Action='write' />
<RegistryValue Root='HKLM' Key='SOFTWARE\Test\Prod' Name='WebsitePort' Value='[WEBSITEPORT]' Type='string' Action='write' />
<RegistryValue Root='HKLM' Key='SOFTWARE\Test\Prod' Name='Application' Value='[APPLICATION_NAME]' Type='string' Action='write' />
</Component>
</DirectoryRef>
</Fragment>
还有另一个问题,通过“添加删除程序”修复操作会引发致命错误,并显示以下错误:
WriteIIS7ConfigChanges:在C:\ Windows \ Installer \ MSICDDF.tmp,版本3.10.3007.0中输入WriteIIS7ConfigChanges WriteIIS7ConfigChanges:自定义操作数据哈希:41034C345A4E6B9B4DDB8490C1BC5266637BC0E8 WriteIIS7ConfigChanges:CustomActionData WriteIIS7ConfigChanges length:225 WriteIIS7ConfigChanges:错误0x80070002:找不到创建应用程序的站点 WriteIIS7ConfigChanges:错误0x80070002:无法配置IIS应用程序。 WriteIIS7ConfigChanges:错误0x80070002:WriteIIS7ConfigChanges失败。 任何其他可以解决问题的替代解决方案?