3

Wixで作成されたMSIとバンドルがあります。言語選択GUIがポップアップ表示され、実行時にユーザーが言語を選択できるように、これらの両方をローカライズする必要があります。誰かがこれについて私を助けることができれば本当にありがたいです。

MSIの場合、言語選択コンボボックスを起動し、必要な変換を使用して(コマンドシェルを使用して)変換されたMSIを呼び出すための別のブートスタッパーの作成に取り組んでいます。このアプローチの実現可能性についてはまだわかりません。bootstapperのカスタマイズされたUIでコンボボックスを作成し、必要な言語でこのmsiを実行するためにバッチコマンドを呼び出す際に問題に直面しています。

バンドルの場合-私はまだメソッドの検索に取り組んでいます。誰かがこれについて何かアイデア/サンプルを持っているなら。

誰かがこの問題について私を助けてくれるか、上記の要件を満たすための別の代替方法を私に提供してくれると役に立ちます。

ありがとう、

4

3 に答える 3

3

推奨される方法(さらに言えば、ほとんどのMS製品で使用されている方法)は、あなたが説明したとおりです。

  1. 言語ごとにローカライズされたMSIを作成する
  2. ベースを選び、MSTを生成します
  3. MST、MSI、およびブートストラッパーをパッケージ化します。
  4. 言語選択ダイアログを表示し、引数としてMSIEXEC渡すを呼び出しますTRANSFORM=language.mst

プロセスが開始された後、MSIEXECいわばすべてのローカリゼーションが完了します。すべての選択は、MSIシステムの外部で行う必要があります。

例については、このcodeprojectの記事を参照してください。

于 2013-02-27T06:22:53.280 に答える
0

MSIのUI選択

  1. 言語ごとにローカライズされたMSIを作成する
  2. ベースを選び、MSTを生成します
  3. MST、MSIをブートストラッパーにパッケージ化します。
  4. HyperlinkTheme.xmlをカスタマイズして、各言語を選択するためのラジオボタンを含めます。
  5. 変数タグを使用して、ラジオボタンをUIから.wxsファイルにリンクします
  6. msiタグにmsiプロパティを含め、MSTへのパスとInstallCondition属性をハードコーディングして、各選択を区別します
  7. この機能のサポートには、最新バージョンのwixを使用してください。

バンドルは自動ベース検出のみをサポートし、UI選択はサポートされていません

于 2013-05-02T12:39:56.953 に答える
0

私はこれがあなたを助けるかもしれないと思います: WiXを使用して言語選択ダイアログを作成します。

言語選択用のカスタムUIは、C#ベースのカスタムブートストラッパーを使用して作成されるという制限があります。これにより、ホストマシンに.Netフレームワークが必要になる場合があります。

于 2013-09-04T10:39:14.990 に答える