2012-04-24 19 views
1

複数のMSIを1つのインストールパッケージにパッケージ化したいので、Wix3.6からBurnを使用しています。Wix 3.6 Burn:アンマネージカスタムUI

インストールするパッケージを選択できるようにする簡単なユーザーインターフェイスが必要です。

私は標準のBA(wixstdba.dll)がこの機能性を提供しておらず、私自身のBAを書く必要があることを理解しています。

私はC++ BAの例として 'wix36-sources'パッケージからプロジェクト 'wixstdba'を探しています。

<Bundle 
    Name="$(var.ProductName)" 
    Version="$(var.ProductVersion)" 
    Manufacturer="$(var.VendorName)" 
    UpgradeCode="$(var.UpgradeCode)" > 
    <BootstrapperApplication SourceFile="wixstdba.dll" /> 
    <Chain> 
    ... 

私は正常にバンドル建て::私は結果の.EXEを実行すると、しかし

light -ext WixBalExtension.dll -ext WixUIExtension -ext WixUtilExtension installer-v$(VERSION).wixobj -o installer-v$(VERSION).exe 

candle -o installer-v$(VERSION).wixobj bundle.wxs -d"Platform=x64" 

を私は単にプロジェクトを再構築し、次のように私のバンドルに結果のDLLを追加しようとしている開始するには、 何も起こりません。 UIは表示されず、ソフトウェアもインストールされず、エラーメッセージも表示されません。

私は間違っていると思いますか?

答えて

2

.exeを実行すると、システムの%TEMP%フォルダにログファイルが作成されます。これにより、エラーが発生しているかどうかがわかります。ファイル名は製品名(スペースはアンダースコアで置き換えられます)になります。それを見つける最も簡単な方法は、Windowsエクスプローラウィンドウを開き、フォルダ名に "%TEMP%"と入力し、日付を変更したdescでソートすることです。トップファイルはおそらく正しいでしょう。

ブートストラップが実行されている可能性がありますが、コードをロードしようとすると依存関係を読み込めない、またはエラーが発生します。うまくいけば、ログはあなたが問題を見つけるのに十分なヒントを提供します。

あなたは、あなたのBAで使用される追加のライブラリ/ファイルを追加バンドルペイロード・ファイルに追加し、次のようにする必要が終わる場合:

 
    <BootstrapperApplicationRef SourceFile="wixstdba.dll" > 
    <Payload SourceFile="$(var.ReferencedProject.TargetDir)\file.needed.at.runtime" /> 
    </BootstrapperApplicationRef> 

これは、同じフォルダ内のファイルを配置します実行時にアンパックされたBA

関連する問題