2017-11-12 9 views
0

私はWebアプリケーションのためのWiXアップグレードを仕事中に書こうとしています。インストーラはIISでサイトとアプリケーションプールを作成し、正常に動作します。アップグレードでは、RTMのアンインストール中にサイトとアプリケーションプールの両方が削除されますが(正しい)、アプリケーションプールの作成が失敗するため、アップグレードのインストール中にサイトを再作成するだけです。ログの内容は次のとおりです。WiXメジャーアップグレードでIISにAppPoolを追加する方法?

MSI(08:AC)[20:45:23:527]:リモートカスタムアクションを呼び出す。 DLL:C:¥Windows¥Installer¥MSI52F5.tmp、Entrypoint:WriteIIS7ConfigChanges WriteIIS7ConfigChanges:エラー0x80070002:httpErrorsセクションに失敗しました。 WriteIIS7ConfigChanges:エラー0x80070002:IIS Aspプロパティを構成できませんでした。 WriteIIS7ConfigChanges:エラー0x80070002:WriteIIS7ConfigChangesが失敗しました。

狂ったことは...私はIISを開いて、アプリケーションプールを見ていると動作します。私はそれがこのIIS Aspプロパティを取得することに問題があると仮定していますが、私はそれを提供する方法を知らない。私はそれは、このコマンドを実行して、設定されていない場合は、IISを設定するカスタムアクションを持っている:

dism.exe /オンライン/有効-特集/ FEATURENAME:IIS-ASPNET45/FEATURENAME:IIS-HttpCompressionDynamic /すべて/ NORESTART

そして、ここでは、私はIISで実行しようとしていますものです:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension" 
xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension"> 
<Fragment> 
<Property Id="APP_POOL_NAME" Value="BlahAppPool" Secure="yes"></Property> 

<DirectoryRef Id="INSTALLFOLDER"> 
    <Component Id="BlahAppPool" Guid="{46BEB5E3-BD0C-4161-B8A4-10A1E106E0C7}" KeyPath="yes"> 
    <iis:WebAppPool Id="BlahAppPool" 
        Name="[APP_POOL_NAME]" 
        Identity="applicationPoolIdentity" 
        ManagedPipelineMode="Integrated" 
        ManagedRuntimeVersion="v4.0" /> 
    </Component>  
     <Component Id="InstallWebsite" Guid="{3423D559-A1C8-4764-BE0C-524AFB47508C}" KeyPath="yes">  
     <iis:WebVirtualDir Id="BlahWebsite" 
         Directory="INSTALLFOLDER" 
         Alias="[WEBAPPNAME]" 
         WebSite="DefaultWebSite"> 
     <!-- Turn the virtual directory into a web application --> 
     <iis:WebApplication Id="BlahWebApplication" Name="Blah Web App" WebAppPool="BlahAppPool" /> 
    </iis:WebVirtualDir> 
    <!-- This is pretty important. If the CreateFolder isn’t there the 
      WebVirtualDir won’t get created as there’s no files in this 
      component. 
      http://www.mail-archive.com/[email protected]/msg03483.html --> 
    <CreateFolder/> 
    </Component> 

</DirectoryRef> 

<!-- Reference the default web site. Outside a component means the website element is a locator/search. Inside 
    a component means it’s a creator.--> 
<iis:WebSite Id="DefaultWebSite" 
      Description="Default Web Site" 
      Directory="INSTALLFOLDER"> 
    <iis:WebAddress Id="AllUnassigned" Port="80" /> 
</iis:WebSite> 
<ComponentGroup Id="BlahSiteIisConfiguration"> 
    <ComponentRef Id="BlahAppPool" /> 
    <ComponentRef Id="InstallWebsite" /> 
</ComponentGroup> 
</Fragment> 
</Wix> 

私は前のWiXを使用しないと会社を辞め誰かからこれを継承しないしました。私はこれを除いてアップグレードのために必要なこと全てを理解しました。どんな助けでも大歓迎です。前もって感謝します!また、より多くの情報を投稿する必要がある場合は、喜んで提供します。

+0

インストーラで以前のWebアプリケーションとアプリケーションプールを削除すると、それを元に戻すことはできませんが、アップグレードを実行する前に手動でIISから削除すると、新しいものが正しく再作成されます。私は本当に私たちのインストーラを実行する前にユーザーが手動で行う必要がないようにしたいと思います。 – booleanCube

答えて

0

まあ、多くの研究の後、私は、私の周りの仕事を見つけようとし続けるつもりですhere

参照、これは現在のWiX 3.10とただのバグであると考えていますが、もちろん、理想的ではないという。

関連する問題