【发布时间】:2011-01-18 15:58:40
【问题描述】:
背景:我有一个 Wix 安装程序,其中在现有 IIS 网站中创建了一个虚拟目录。虚拟目录已创建(安装前不存在),但 IIS 网站应已创建(用户只需在 ListBox 中选择要安装的网站)。
问题:卸载时,安装到的 IIS 网站的物理路径变为空白,该属性没有值。下面是我的主要 wix 文件的精简版本。我不确定为什么卸载会影响 IIS 网站,但欢迎提出任何想法。
注意:我使用的是 Wix 3.5 和 Windows Server 2008 R2、IIS 7。
<Product>
<Property Id='WEBSITE_DESCRIPTION'>
<RegistrySearch Id='RememberPropertyWEBSITE_DESCRIPTION' Root='HKCU'
Key='SOFTWARE\Company\Product' Name='InstalledWebsiteDescription'
Type='raw' />
</Property>
<Property Id='WEBSITE_PORT'>
<RegistrySearch Id='RememberPropertyWEBSITE_PORT' Root='HKCU'
Key='SOFTWARE\Company\Product' Name='InstalledWebsitePort'
Type='raw' />
</Property>
<Component Id='PropertiesToSave' Directory='ApplicationFolder'>
<RegistryValue Root='HKCU' Key='SOFTWARE\Company\Product'
Name='InstalledWebsiteDescription' Value='[WEBSITE_DESCRIPTION]'
Type='string' />
<RegistryValue Root='HKCU' Key='SOFTWARE\Company\Product'
Name='InstalledWebsitePort' Value='[WEBSITE_PORT]'
Type='string' />
<RemoveFolder Id='CleanupApplicationFolder' On='uninstall' />
</Component>
<Directory Id='TARGETDIR' Name='SourceDir'>
<Component Id='TestWebVirtualDirComponent' Guid='12345678-6304-410E-A808-E3585379EADB'>
<CreateFolder />
<iis:WebVirtualDir Id='TestWebVirtualDir' Alias='[WEBSITE_VIRTUALDIR]' Directory='TARGETDIR' WebSite='MyWebsite'>
<iis:WebApplication Id='TestWebApplication' Name='Test' />
</iis:WebVirtualDir>
</Component>
</Directory>
<iis:WebSite Id="MyWebsite" Description="[WEBSITE_DESCRIPTION]" SiteId="*">
<iis:WebAddress Id="AllUnassigned" Port="[WEBSITE_PORT]" />
</iis:WebSite>
<Feature>
<ComponentRef Id='TestWebVirtualDirComponent'/>
<ComponentRef Id='PropertiesToSave'/>
</Feature>
</Product>
【问题讨论】:
-
我也使用 WIX(在我的情况下为 3.0)进行与 IIS 相关的安装,但我发现了一些意外和故障。在某些情况下,我不得不求助于自定义操作以使其按预期工作。