2

最近、次のシナリオに遭遇しました。

  1. ファイルを展開し、IIS で Web サイトを作成および構成する WiX で作成された msi パッケージをインストールします (6)
  2. ウェブサイトは手動で変更されます。ポートは 81 から 80 に変更されます。
  3. パッケージがアンインストールされます。

パッケージがアンインストールされると、削除される Web サイトはデプロイされた Web サイトではありません。代わりに、デフォルトの Web サイトやその他の Web サイトが削除されるのを見てきました。

私が知りたいのは、パッケージがどの Web サイトを削除するかをどのように決定するかということです。当初考えていた IIS ID ではないようです。

4

1 に答える 1

0

レジストリキーを介してそれを行いました:

    <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>
于 2013-02-25T23:19:24.120 に答える