2

いくつかの .net Web アプリケーション用に wix を使用してインストーラーを作成しています。2 つの機能があります。そのうちの 1 つは、IIS の既定の Web サイトに複数の仮想ディレクトリ/アプリケーションをインストールします。2 番目の機能は、単一の仮想ディレクトリを持つ別の Web サイトを作成します。

問題は、両方の機能をインストールすると、デフォルトの Web サイトの下にある仮想ディレクトリ (機能 1 から) がアンインストール中に削除されないことです。奇妙な点は、機能 1 (機能 2 を除く) をインストールするだけで、機能 1 のアンインストールが正常に機能し、仮想ディレクトリが削除されることです。

私は wix を初めて使用します。私の product.wxs に何か問題があるか、何か理解できないことがあると思います。考え?

私のproduct.wxsファイルからのサンプルスニペットは次のとおりです。

<Feature Id="feature1" Title="feature1" Description="feature 1 description" Level="1" ConfigurableDirectory="INSTALLDIR" Display="expand">
  ...
  <ComponentGroupRef Id="IIS_Feature1" />
</Feature>

<Feature Id="feature2" Title="feature2" Description="feature 2 description" Level="1" ConfigurableDirectory="INSTALLDIR" Display="expand">
  ...
  <ComponentGroupRef Id="IIS_Feature2" />
</Feature>

<Directory Id="TARGETDIR" Name="SourceDir">
  ...
  <Directory Id="ROOT_DRIVE">
    <Directory Id="Inetpubdir" Name="inetpub">
      <Directory Id="wwwrootdir" Name="wwwroot" />
      <Directory Id="wwwrootcustom" Name="wwwroot-custom" />
    </Directory>
  </Directory>
</Directory>

<ComponentGroup Id="IIS_Feature1">
  <Component Id="IIS_WebApp1" Guid="some-guid-1" Directory="wwwrootdir" KeyPath="yes">
    <iis:WebVirtualDir Id="WebApp1VirtualDir" Alias="webapp1" WebSite="DefaultWebSite" Directory="WEBAPP1DIR">
      <iis:WebApplication Id="WebApp1IISApplication" Name="webapp1" />
    </iis:WebVirtualDir>
  </Component>

  <Component Id="IIS_WebApp2" Guid="some-guid-2" Directory="wwwrootdir" KeyPath="yes">
    <iis:WebVirtualDir Id="WebApp2VirtualDir" Alias="webapp2" WebSite="DefaultWebSite" Directory="WEBAPP2DIR">
      <iis:WebApplication Id="WebApp2IISApplication" Name="webapp2" />
    </iis:WebVirtualDir>
  </Component>

  <Component Id="IIS_WebApp3" Guid="some-guid-3" Directory="wwwrootdir" KeyPath="yes">
    <iis:WebVirtualDir Id="WebApp3VirtualDir" Alias="webapp3" WebSite="DefaultWebSite" Directory="WEBAPP3DIR">
      <iis:WebApplication Id="WebApp3IISApplication" Name="webapp3" />
    </iis:WebVirtualDir>
  </Component>

</ComponentGroup>

<ComponentGroup Id="IIS_Feature2">
  <Component Id="IIS_WebApp4" Guid="some-guid-4" Directory="wwwrootcustom" KeyPath="yes">
    <iis:WebSite Id="WebApp4Site" Description="Web App 4 Site" Directory="wwwrootcustom" AutoStart="yes">
      <iis:WebVirtualDir Id="WebApp4VirtualDir" Alias="webapp4" Directory="WEBAPP4DIR">
        <iis:WebApplication Id="WebApp4IISApplication" Name="webapp4" />
      </iis:WebVirtualDir>
      <iis:WebAddress Id="WebApp4SiteAddr" Secure="yes" Port="443"/>
    </iis:WebSite>
  </Component>
</ComponentGroup>

4

1 に答える 1

0

この問題は、インストーラーの初期の開発中に発見されました。より多くの開発作業が行われ、他の問題が解決されたため、この動作は見られなくなりました。

何が起こっているのか正確にはわかりませんでしたが、テスト中にインストーラーに問題があるかどうかに気づきました。アンインストール中に特定の(一見無関係な)コンポーネントが残されます...

于 2013-02-07T19:02:26.133 に答える