2016-04-05 6 views
0

私はmsiインストーラを作成するためにwixを使用しています。インストーラはIISに新しいアプリケーションプールと仮想ディレクトリを作成してWebアプリケーションを実行します。IIS上のWebアプリケーションのWIX-複数インスタンスをサポート

今は、同じマシン(同じバージョンまたはそれ以上のバージョン)で複数のWebアプリケーションインスタンスを同時に作成しようとしています。

- このようなものがWixでサポートされていますか?

-私は、各インストールで複数のアプリケーションプールと仮想ディレクトリを動的に作成できますか?現時点では、appPoolの名前とVirtualディレクトリと宛先フォルダはProduct.WXSファイル内にハードコードされているためです。

答えて

1

セットアップを複数回実行することもできず、以前のインストールをアンインストール、変更、修復、またはアップグレードを実行しようとします。 しかし、アプリケーションプールまたはWebサイト名に関するあなたはあなたがであなたのプロパティを指定するために必要以上のウェブサイトやアプリプールの名前

<Control Id="WebsiteName" Type="Text" X="..." Y="..." Width="..." Height="..." Text="Website name :" Indirect="no" > 
     <Condition Action="hide">Installed</Condition> 
    </Control> 
    <Control Id="WebsiteName" Type="Edit" X="..." Y="..." Width="..." Height="..." Property="WEBSITENAME" Text="{50}" Indirect="no" > 
     <Condition Action="hide">Installed</Condition> 
</Control> 

を書き留めることができますテキストボックスを持っている、あなたの特徴選択ダイアログで、インストールプロセスでそれを指定することができますあなたは

<iis:WebSite Id="DefaultWebSite" Description="Default Web Site"> 
    <iis:WebAddress Id="AllUnassigned" Port="80" /> 
</iis:WebSite> 
<DirectoryRef Id="YourDirectory" > 
    <Component Id="CMP_CONFIG" Guid="{YOURGUID}" KeyPath="yes"> 
    <iis:WebVirtualDir Id="WebsiteName" Alias="[WEBSITENAME]" Directory="YourDirectory" WebSite="DefaultWebSite"> 
     <iis:WebApplication Id="YourApplicationApp" Name="[WEBSITENAME]" WebAppPool="[WEBSITENAME]" /> 
     <iis:WebDirProperties Id="YourApplicationDirProp" Script="yes" Execute="yes" Read ="yes" DefaultDocuments="Default.aspx"/> 
    </iis:WebVirtualDir> 
    </Component> 
</DirectoryRef> 
アプリケーションプールとサイト名を作成して設定でそれを指定する必要以上Product.wxs
<Property Id="WEBSITENAME" Value="YourDefaultWebSiteName" Secure="yes"> 
    <RegistrySearch Id="FindWebSiteName" Root="HKCU" 
        Key="SOFTWARE\YourCompany\YourProduct" 
        Name="WebsiteName" Type="raw"/> 
</Property> 
<Property Id="APPPOOL" Value="0" Secure="yes"> 
    <RegistrySearch Id="FindWixSetupInstallation" Root="HKCU" 
        Key="SOFTWARE\YourCompany\YourProduct" 
        Name="webAppPool" Type="raw"/> 
</Property> 

そして、あなたはデスクトップ

<DirectoryRef Id="DesktopFolder"> 
     <Component Id="YourWebsiteAppDesktopShortcut" Guid="{YOURGUID}">  
     <RegistryValue Root="HKCU" 
         Key="SOFTWARE\YourCompany\YourProduct" 
         Name="YourWebsiteApp" 
         Type="integer" 
         Value="1" 
         KeyPath="yes"/> 

     <util:InternetShortcut Id="WebSiteDesktopShortcut" 
           Directory="DesktopFolder" 
           Name="YourWebsiteAppName" 
           Target="http://localhost/[WEBSITENAME]/" 
           Type="url" /> 
     </Component> 
    </DirectoryRef> 

へのショートカットを作成したいそして、あなたはちょうどあなたがのために新しいGUIDを持っている場合は、あなたのアプリケーションの複数のインスタンスを持つことができます

+0

あなたProduct.wxsにこれらすべてのコンポーネント参照IDを登録する必要がある場合すべてのセットアップパッケージ。 – error505

+0

WebsiteNameとwebAppPollが設定されていませんか? – reptile