3

IIS の既定の Web サイトが既に存在することを確認するにはどうすればよいですか? 既定の Web サイトはアンインストールしないでください。WiX インストーラーで新しい Web アプリケーションを追加したいだけです。

残念ながら、適合するサンプルは見つかりませんでした。誰もが常にすべてをインストールおよびアンインストールしているようです。

編集:

<Fragment>
    <ComponentGroup Id="IIS">
        <Component Id="EEE" Directory="WCFFOLDER">
            <iis:WebVirtualDir Id="MyVirtualDir" Alias="MyVirtualDir" Directory="INSTALLDIR" WebSite="DEFAULTWEBSITE">
                <iis:WebApplication Id="DeploymentWebAppl" Name="MyName" WebAppPool="MyAppPool" />
            </iis:WebVirtualDir>
        </Component>
    </ComponentGroup>

    <iis:WebSite Id="DEFAULTWEBSITE" Description="Default Web Site" Directory="INSTALLDIR">
        <iis:WebAddress Id="AllUnassigned" Port="80" />
    </iis:WebSite>
    <iis:WebAppPool Id="MyAppPool" Name="MyAppPool"/>
</Fragment>

仮想ディレクトリもあると指定するにはどうすればよいですか? iis:WebApplication 要素をコンポーネントに直接配置すると、次のエラーが表示されます。「コンポーネント要素には、予期しない子要素 'iis:WebApplication が含まれています」

INSTALLDIR の値は何ですか? デフォルト Web サイトのディレクトリがどこにあるのかわからない (おそらく C:\intpub\wwwroot)

WiX インストーラーで次の C# コードと同じことをしたい

using (ServerManager manager = new ServerManager())
{
   var site = manager.Sites["Default Web Site"];
   var application = site.Applications.CreateElement();
   application.Path = "C:\ProgramFiles\.....";
   application.EnabledProtocols = "http,net.tcp";
   application.ApplicationPoolName = "MyAppPool";
   site.Applications.Add(application);

   manager.CommitChanges();
}
4

1 に答える 1

4

次のサンプル コードを参照してください: Install a New Virtual Directory to Default Web Site with WiX

言い換えると、<iis:WebSite>要素を要素内に配置する<Component>と、Web サイトは MSI によって管理され、アンインストール時に削除されます。そうでない場合、web サイト要素はプレースホルダーであり、アンインストールしても変更されません。

于 2013-06-20T18:06:37.803 に答える