問題タブ [burn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1800 参照

wix - 前提条件として他の子 MSI を使用して MSI を作成するベスト プラクティスは何ですか?

現在、MSI 前提条件をインストールするためのブートストラップとしてInno Setupを使用しています。セットアップを維持するのは少し複雑です。単一のセットアップで必要なものをインストールすることで、この問題を解決するのに役立つ書き込みツールを見つけました。このツールのドキュメントもサンプルも見つかりませんでした。誰もこれについて考えていますか?または、代替ソリューションはありますか?

現在、ISS ブートストラップで行っているアクションの代替ソリューションを探しています。

  1. ファイルの解凍 (メインセットアップ、前提セットアップ)
  2. 前提条件のステータスを確認し、オンデマンドでインストールする必要があります。
  3. メインインストールを開始します。
0 投票する
2 に答える
1512 参照

wix - インストール前に機能のインストール コストを取得する

インストール用のカスタム ブーストラップ / 外部 UI を作成しています。

ユーザーがインストールまたは削除する機能を選択できるように、(MSI のような) "カスタム インストール" ダイアログを提供したいと考えています。

現在、MSI データベース自体から機能 (および説明などのその他の機能の詳細) を読み取ることができます (Featureテーブルに対して SQL クエリを実行することにより)。

ただし、機能をインストールするためのコストも表示したいと考えています。Windows インストーラーの [カスタム インストール] ダイアログは、これを行うことができます。

次のようにすることで、動作を模倣できると思います。

  1. Featureコストを取得したい を選択してください
  2. FeatureComponentsテーブルを使用しComponentて、フィーチャに関連付けられている を 1 から取得します。
  3. 表を使用して、2 で特定されたコンポーネントに関連付けられているファイルをFile追加します。FileSize
  4. 3 の合計は、機能のインストールのコストです

質問:

  1. インストール前に機能のコストを取得するために使用できる API (DTF または MSI.DLL のいずれか) はありますか? ( FeatureInfo.GetCostDTF にはメソッドがありますが、それを直接使用することはできません。FeatureInfo.GetCostから呼び出す前に、まず製品をインストールする必要がありますProductInstallation)
  2. API がない場合、上記の手順は、機能のインストールのコストを計算するのに適切または正しいですか?

ありがとう!:)

更新 # 1

インストールを開始する前であっても、API を介して機能のインストールのコストを取得する方法があると思います。これが私がそれをした方法です:

呼び出しinfo.nameに成功すると、機能の名前が返されます。ただし、呼び出すと、「選択マネージャーが初期化されていません」というメッセージinfo.GetCostが返されます。InvalidHandlerException

私が現在いる場所はここです。

更新 #2:

を呼び出す前にInvalidHandlerException、必要なファイル コスト計算ルーチンを呼び出していないため、 を取得していましたinfo.GetCost。これが私の変更されたコードです:

InvalidHandlerException を取得しなくなりましたが、返されるすべてのファイル コストは -1099511627776 です。

0 投票する
2 に答える
3802 参照

wix - MSI/WiX - 複数インスタンス変換中のコンポーネント GUID の割り当て

WiX 3.5 を使用して、インスタンス トランスフォームを備えた MSI を使用して、異なる製品名で同じマシンにソフトウェアをインストールできるようにしました。これを行うために、条件付きで定義された .wxs ファイルに製品 ID と名前の「ハードコーディングされた」リストがあります。ただし、ファイル リソースと非ファイル リソースの両方を含む単一の Feature-ComponentRef 定義しかありません。

インストールは正常に機能しているように見えますが、インスタンスをアンインストールすると、次の 2 つのソースで言及されている動作が示されます。

http://msdn.microsoft.com/en-us/library/aa367797(v=VS.85).aspx

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Multiple-Instance-Transforms-Walkthrough-Proposed-Simple-Addition-to-WiX-to-Make-Them-Easier-td708828. html

具体的には、アプリケーションの最後のインスタンスを除いて、ファイル以外のリソース (この場合はレジストリ エントリ) がアンインストールされることはありません。(つまり、instance1、instance2、instance3 の順にアンインストールすると、instance3 のファイル以外のリソースのみが削除されます。

これは、ファイル以外のコンポーネントに一意の GUID がないことに関連していると推測しています (ファイル コンポーネントでは問題になりません)。

したがって、有効なアプローチは、1 つの製品 ID、名前、および 1 つの機能セットを含む単一の .wxs ファイルを定義することであるかどうか疑問に思っていましたが、カスタム ブートストラップに、製品および非ファイル コンポーネントの新しい GUID を生成させ、それを挿入します。実行時に MSI データベースに? つまり、その後、アンインストールまたは更新するときが来たら、インストールされたインスタンスのレジストリを照会し、それらの GUID を取得します。

これにより、事前に .wxs にハードコーディングするのではなく、実行時にインスタンスを作成し、クリーンにアンインストールすることができます。

それは理にかなっていますか?バーンはすべてを良くしますか? :)

0 投票する
2 に答える
1637 参照

user-interface - WiX バンドル UI - 選択可能なプロダクト ツリー

最近、7 つのアプリケーション インストーラーを WiX に移行しました。古いインストーラー (10 年以上前のテクノロジ、UI は Windows 3.1 セットアップのように見えます) は、バンドル インストーラーに既に製品ツリーがあり、インストールする製品を選択することができました。

7つの製品すべてが正常にインストールされた、機能するバンドルインストーラーがあるところまで来ました。しかし、バンドル全体からインストールする製品を選択できる必要があります。

これはブートストラップ UI の問題であることを理解しています。このツリーが必要な場合は、C# で独自のブートストラップを作成する必要があります。残念ながら、これは全体の価値よりも大きなプロジェクトのようです。だから私の質問は:

  • 複数の MSI インストーラーをブートストラッパーにまとめて、それらを次々にインストールし、選択可能な製品ツリーを持つ簡単な方法はありますか? (無料の製品が必要です。)
  • このような WiX 用のブートストラッパーの実際のサンプル コードを持っている人はいますか?

前もって感謝します!

0 投票する
1 に答える
10027 参照

wix - Burn マネージド ブートストラップ内の WiX でパッケージの INSTALLLOCATION を指定する

WiX 3.6 バンドル ( Burnを使用) と、いくつかのMSIパッケージをインストールするマネージド ブートストラップがあります。一部のパッケージは、共通の場所 ( C:\program files\MyApp) にインストールされます。

管理されたブートストラップ アプリケーション内のインストール場所をユーザーが選択できるようにしたい (特にアプリケーションのインストールが大きいため、約 1 GB のため、C# WPF )。バンドル内のMSIパッケージごとに INSTALLLOCATION を指定するにはどうすればよいですか?

0 投票する
2 に答える
3574 参照

wix - Burnを使用してWiXにVisualC++再配布可能ファイルを展開する方法

インストーラーをWiX2.xからWiX3.6に移行し、 Burnの使用を開始しました。以前は、からの.msmファイルをMSIに含めることにより、VisualC++再配布可能ファイルをインストールいました。これらのファイルは、製品の構築に使用するファイルと常に同期しています(これらのファイルは、セキュリティ修正を含めるためにMicrosoftによって頻繁に更新されます)。C:\Program Files\Common Files\Merge Modules

ここで、Burnフレームワークを使用して必要な場合にのみ、VisualC++再配布可能ファイルをダウンロードしてもらいたいと思います。MsmPackageただし、Burnは内部に配置する要素を定義しませんChain

Burnを使用して再配布可能なVisualC++を展開するための最良のアプローチは何ですか?

0 投票する
2 に答える
765 参照

wix - Wix: 書き込み管理された UX で MSI パッケージのサイズを表示する方法

ユーザーが個々のパッケージを選択してダウンロードおよびインストールできる Wix 3.6 マネージド ブートストラップがあります。各パッケージのダウンロード サイズを表示したい。内の各パッケージのファイル サイズにアクセスするにはどうすればよいBundleですか?

この情報は Wix フレームワークのどこかで入手できると思います (ダウンロードしたファイルの検証にファイル ハッシュが使用されるため) が、見つかりませんでした。

回避策のアイデアはありますが、それは私にとってより多くの実装になるでしょう:

  • パッケージのファイル サイズを含む要素を含むwxsファイルをプログラムで生成します。Variableこれらの変数は、ブートストラップによって読み取られます。
0 投票する
5 に答える
37369 参照

wix - カスタムWiXBurnブートストラッパーユーザーインターフェイス?

私は主にWiX3.6でインストールパッケージを作成しているので、Burnブートストラップ機能を利用できます。これまでのところ、組み込みのブートストラッパーアプリケーション()とともにインストールされるいくつかのMSIパッケージがバンドルされていますWixStandardBootstrapperApplication.RtfLicense

Burnを使用すると、カスタムを指定することでデフォルトのブートストラッパーアプリケーションを置き換えることができることを読みましたが、カスタムの構築方法(つまり、Burnエンジンとの統合方法など)UX.dllを説明するリソースをまだ見つけることができませんでした。ux.dll使用するテクノロジー、実装する必要のあるインターフェイスなど)。

私の目標は、ユーザーから任意の情報を収集し、その情報をさまざまなバンドルされたMSIファイルやEXEファイルなどに渡すことができるブランドのブートストラッパーを作成することです。

だから私は本当に2つの質問があります:

  1. デフォルトのブートストラッパーアプリケーションはどの程度カスタマイズ可能ですか?
  2. カスタムを構築する方法を説明する利用可能なリソースはありますUX.dllか?
0 投票する
1 に答える
9085 参照

wix - WiXBurnカスタムUI

WiXとBurnのカスタムUIを作成しようとしています。私は見つけたガイドのいくつかに従いましたが、これまでのところ、BootstrapperApplicationから継承した次のプロジェクトがあります。

そしてAssemblyInfo.csで:

次に、私のBootstrapperプロジェクトには、次のものがあります。

MyBA.BootstrapperCore.configを追加しました

ただし、ブートストラッパーに対してSetup.exeを実行すると、スプラッシュスクリーンが短時間表示されますが、それ以外は表示されません。ログの%TEMP%を見ると、次のようになっています。

なぜこれが発生し、上記のエラーが発生するのですか?

0 投票する
2 に答える
14576 参照

wix - WiX Burn 3.6 ベータ - カスタム UI の例

WiX Burn 3.6 のカスタム UIに関する適切な参照/例はありますか?

私はグーグルで調べましたが、それらは情報の断片です。