問題タブ [wix]
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.
wix - WiX の裏技とヒント
しばらくの間 WiX を使用しており、使いやすさについての通常の不満にもかかわらず、かなりうまくいっています。私が探しているのは、次に関する有用なアドバイスです。
- WiX プロジェクトのセットアップ (レイアウト、参照、ファイル パターン)
- ソリューションへの WiX の統合、およびビルド/リリース プロセス
- 新規インストールおよびアップグレードのためのインストーラーの構成
- 共有したい優れた WiX ハック
installation - WiX で条件付きプロパティを作成するにはどうすればよいですか? (ほとんどIf-Thenのように)
いくつかの EXE ファイルをインストールする WiX プロジェクトがあります。1 つは「メイン」実行可能ファイルで、その他は問題の診断に役立つサポート プログラムです。
メインの実行可能ファイルはオプションであり、サポート プログラムは単独で実行されます。多くの場合、エンド ユーザーはメインの実行可能ファイルの代わりにサードパーティ プログラムをインストールします。
WiX インストーラーの最後に、インストーラーが閉じるとすぐにプログラムを実行する「プログラムの起動」チェックボックスが必要です。
INSTALLLEVEL プロパティに基づいてチェックボックスを非表示にできますが、ユーザーが「標準」または「完全」インストールを選択したかどうかによってのみ変化します。メインの実行可能機能がインストールされているかどうかに基づいて非表示にしたいと思います。
次のようなものが理想的です。
visual-studio - すべてのプロジェクト + インストーラー (.NET + WiX) をワンステップでビルドするのに役立ちます
適切な構成などでプロジェクトを再構築するために、インストーラーに事前構築イベントがあります。
Visual Studio で WiX (3.0) プロジェクトのビルド/再ビルドを右クリックすると、すべて正常にビルドされますが、wixproj ファイルで MSBuild を実行しようとすると、ビルド前のイベントでエラーがスローされます。
代わりに、wixproj で Candle と Light を呼び出すことはできますが、ビルド前のイベントは実行されません。
ビルド前のイベントは VS が提供するマクロに依存しており、別のプロジェクトを作成する以外にそれを回避する方法がわかりません。基本的には、ハックを叫ぶプロジェクトのビルド前のイベントを使用するだけです。
もう 1 つの問題は、コマンド ラインから自動更新バージョン番号を WiX に入力する必要があることです。
csproj だけを使用してバージョン番号を処理し、それを更新して、MSBuild と Candle と Light にシェルするだけを計画していましたが、問題は、ハードコーディング以外のコードからソリューション ディレクトリにアクセスする方法がわからないことです。それは
wix - WiX: すべてのユーザーの共有を作成する方法は?
WiXを使用してインストーラーを作成していますが、インストール プロセス中にフォルダーを共有したいと考えています。すべてのユーザーに権限を付与したいと考えています。次のフラグメントを使用しています。
「セクション 'Product:{MY-GUID}' のシンボル 'User:Everyone' への参照が解決されていません。」
すべてのユーザーの共有を作成する方法について何か提案はありますか?
wix - comctl32.msm (マージ モジュール) が Vista で失敗する
comctl32.msm をインストーラ (comctl32.ocx マージ モジュール) に貼り付けました。XP では、comctl32.ocx が system32 に表示され、すべて問題ありません。vista では、動作しません。私が間違っていることを推測しますか?
また、マージ モジュールをコンポーネント内の多数のレジストリ変更に置き換えようとしました<file>
が、ファイルは移動せず、レジストリの変更も行われませんでした。
wix - 複数のインスタンス用のWixBootstrapperを作成する方法/入手先
私は現在、WiXを使用してmsiインストーラーを作成する方法を学んでいますが、壁にぶつかったようです。
単一の環境に必要なすべてを含むMSIを作成すると、すべてがうまくいきます。
機能とコンポーネントがあり、MSIをインストールできます。
これで、複数のインスタンスがサポートされているSQLServerスタイルのインストーラーでこれを変換したい段階になりました。
最初に、ユーザーが新しいインスタンスを作成したり、既存のインスタンスを管理したりできる画面を取得したいと思います。(それらを更新/削除するため)
私は2日間、どこでも解決策を探していましたが、運が悪かったです。
いくつかの情報が記載された次のリソースを見つけましたが、インスタンスの数が制限されているか、ユーザーに上記のオプションを提供するようなブートストラッパーの方法を説明していません。
誰かがすでにWiXを使用してこれを達成しましたか?または、これがどのように達成されるかについて、誰かが私にいくつかの実用的な例を教えてもらえますか?
Installshield 2009でこれができることは知っていますが、これは単なる趣味であるため、購入するお金がありません。また、来たるVisual Studio 2010でサポートが改善されるため、WiXでも実行したいと思います。
wix - Wix で以前にインストールしたバージョンのプログラムを更新する方法
Wix でインストール プログラムを作成しましたが、プログラムを正常にインストールできました。更新する必要があるので、バージョン番号を上げましたが、古いプログラムの上に新しいプログラムをインストールしようとすると、古いバージョンが既にインストールされていると不平を言い、最初にアンインストールするように指示されます。
再インストールする前に更新または自動的にアンインストールするにはどうすればよいですか?
msbuild - MSBuild で Wix DefineConstants プロパティに複数の値を渡す
現在、Wix プロジェクトを MSBuild に統合しています。複数の値を Wix プロジェクトに渡す必要があります。1 つの値が機能します (以下のサンプルの ProductVersion)。
ただし、DefineConstants キーに複数の値を渡すにはどうすればよいでしょうか。すべての「論理」セパレーター (スペース、コンマ、セミコロン、パイプ記号) を試しましたが、うまくいきません。
他の誰かがこの問題に遭遇しましたか?
うまくいかない解決策:
- DefineConstants 要素を追加しようとしても機能しません。これは、DefineConstants を Properties 属性内で表現する必要があるためです。