【问题标题】:How does an MSI determine which website to delete on uninstallationMSI 如何确定卸载时要删除的网站
【发布时间】:2012-05-21 20:25:30
【问题描述】:

我最近遇到了以下情况:

  1. 安装通过WiX创建的msi包,在IIS中部署文件并创建+配置网站(6)
  2. 网站是手动修改的。端口由 81 改为 80。
  3. 软件包已卸载。

卸载软件包时,删除的网站不是部署的网站。相反,我看到它删除了默认网站以及其他一些网站。

我想知道的是,包如何确定要删除的网站?它显然不是我最初认为的 IIS ID。

【问题讨论】:

  • 我遇到了类似的问题,我的解决方案是将网站名称存储在注册表中,并使用注册表搜索来获取值并将其存储在属性中。如果软件包被卸载,网站将被正确删除。
  • 如果通过注册表,存储网站的ID不是更好吗?或者如果您让 IIS 决定您网站的 ID,这不可行吗?
  • 没错,我同时存储了 ID 和虚拟目录名称,但 Wix 使用 ID 来安装/卸载。这是 Wix 使用的元素:<iis:WebSite Id="WebSite" Description="Default" SiteId="[WIXCUSTOM_IIS_WEBSITE]"> 其中[WIXCUSTOM_IIS_WEBSITE] 是存储网站 ID 的属性。

标签: wix windows-installer uninstallation wix3.5


【解决方案1】:

我们通过注册表项做到了:

    <Property Id="INBOUNDGATEWAY_REGPATH" Value="SOFTWARE\MyCompany\MyApp\$(var.VERSION)\InboundGateway" />

    <Property Id="INSTALLEDWEBSITE">
        <RegistrySearch Id="INSTALLEDWEBSITE" Root="HKLM" Key="[INBOUNDGATEWAY_REGPATH]" Name="WebSite" Type="raw" />
    </Property>

    <iis:WebSite Id='MyWebSite' SiteId='*' Description='[WEBSITENAME]' Directory='FOLDER_VDIR'>
        <iis:WebAddress Id='WebSiteAddress' Port='[WEBPORT]'/>
    </iis:WebSite>

    <Directory Id="TARGETDIR" Name="SourceDir">
    ...
                        <Component Id="CPNT_INBOUNDGATEWAY_REGISTRY" Guid="etc..." DiskId="1">
                            <RegistryValue Id="INBOUNDGATEWAY_REGISTRY_WEBSITE" Type="string" Root="HKLM" Key="[INBOUNDGATEWAY_REGPATH]" Name="WebSite" Value="[WEBSITENAME]">
                                <Permission User="[LOCADMINSGROUP]" GenericAll="yes" />
                                <Permission User="[POOL_IDENTITY_USER]" Read="yes" GenericRead="yes" />
                            </RegistryValue>

    <CustomAction Id="SetToInstalledWebSite" Property="WEBSITENAME" Value="[INSTALLEDWEBSITE]" />

    <InstallExecuteSequence>
        <Custom Action="SetToInstalledWebSite" After="SetWEBSITENAME">Installed And INSTALLEDWEBSITE</Custom>

【讨论】:

    猜你喜欢
    • 2022-08-18
    • 2011-05-03
    • 1970-01-01
    • 2014-02-20
    • 2018-08-17
    • 2011-06-18
    • 2014-02-19
    • 1970-01-01
    • 2018-06-15
    相关资源
    最近更新 更多