問題タブ [wix-extension]

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 投票する
2 に答える
13794 参照

wix - Wix インストーラーのスタート メニューのショートカットが表示されない

学習目的で、WiX v3.7 を使用して Windows アプリケーションのインストーラー プロジェクトを作成しようとしています (VS2012 にはセットアップ プロジェクトと展開プロジェクトが含まれていないため)。Wix ツールセットは VS に統合されており、新しい WiX シングル インストーラー セットアップ プロジェクトを作成しています。インストーラーは常に正常にコンパイルされ (アイコン拡張子の警告を除く)、完璧に動作し、デスクトップ ショートカットを配置する必要がありますが、Windows 7 Professional x64 Service Pack 1 で適切なスタート メニュー ショートカットを配置できません。Web を検索して試しました。私が見るほとんどすべてですが、これまでのところ成功していません。product.wxs ファイルは次のとおりで、"my_guid" 文字列はプロジェクト内の適切な GUIDS に置き換えられます。明らかにポイントが欠けていますが、どこにあるのかわかりません。レジストリ キーも作成されないため、何らかの理由で最後のフラグメントが実行されない可能性があります。

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

wix - Wix ブートストラップ

WPF を使用してマネージド Wix ブートストラップを作成しました。実際のインストール手順では、複数の msi/exe およびバッチ ファイルを連鎖させる必要があります。

各パッケージの実行中に、現在実行されている msi/exe パッケージ/バッチ ファイルを示すメッセージが (できればブートストラップ UI から) 表示されます。つまり、ブートストラッパーには ProgressText が必要です。これを実現するにはどうすればよいですか?

別の質問: すべての msi をブートストラップ exe にパッケージ化したくありません。これは、次の理由によるものです。 msi が変更されるたびに、ブートストラップ exe 全体ではなく、更新または変更された msi のみを出荷したいと考えています。これを行う方法はありますか?

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

wix - WiXプリプロセッサプラグマの使い方は?

私は現在、WiXのテストプロジェクトに取り組んでおり、それを使って何ができるかを確認しています。

ProcessPragma最近、プリプロセッサ拡張機能のメソッドをオーバーライドして、コンパイル時にWiXソースコードを記述できるという事実に遭遇しました。コンパイラが凶暴になることなくxml文字列を返すプリプロセッサ関数があると、すっきりします。それで私はそれを調べました、しかしこのwix-usersスレッドの応答は非常に簡潔で、多くを説明していません。Googleはそれ以上の興味深いものを返しません。そこで、WiXのソースコードを調べて詳細を調べました。

メソッドのxmlドキュメントは次のとおりです。

そのため、テストとして、XmlWriterダミープロパティを生成してからtrueを返しました。

さて、実際に私のWiXプロジェクトでそれを呼び出すために。でPreprocessor.cs、私は次のことを見つけました:

これは、プラグマを使用するための構文が次のようになることを示唆しています。<?pragma prefix.name?>

しかし、これは私に次の警告を与えます:The pragma 'prefix.name' is unknown. Please ensure you have referenced the extension that defines this pragma.

プラグマに関連する警告が表示されるため、正しい方向に進んでいるように感じますが、正直なところ、ここで何をしているのかわかりません。未知の領域のようです。

誰かが私が間違っていることを知っていますか、または私を正しい方向に向けますか?

アップデート

私のプロジェクトが問題だったようです。私は別のプロジェクトで自分の拡張機能を使用しましたが、それは魅力のように機能しました。

そして、将来これを読む人にとって、構文は<?pragma prefix.name args?>引数が単なる文字列であるところです。XmlWriterまた、補足として、オーバーライドメソッドでを閉じないでください。

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

wix - 以前の Visual Studio セットアップから Wix へのアップグレード

基本的なビジュアル スタジオ セットアップ プロジェクトである古いインストーラーがありましたが、しばらくして、必要なほど複雑ではないことに気付きました。そのため、WiX を使用した置換を生成するのに数日を費やしました。

今、私の現在の問題は、以前のインストールからのアップグレードです。VS Project でインストールされたバージョンのいずれかを誰かがインストールした場合、新しい WiX プロジェクトを使用することは可能ですか? アップグレードコードを同じに設定してみましたが、違いはありません。まったく新しい製品だと思って、再度インストールしようとしています。

出来ますか?

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

wix - WiXのBundle.wxsのExecPackageにパラメータを渡す方法

Bundle.wxsのバッチファイルを「ExecPackage」としてチェーンしています。バッチファイルには、パラメータ/コマンドライン引数が必要です。

「ExecPackage」でコマンドライン引数/パラメータを渡すにはどうすればよいですか。InstallCommand属性をこれに使用できますか?もしそうなら、誰かが私に同じことを説明するための小さな例を教えてもらえますか?

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

c# - exeのインストールパスを知るにはどうすればよいですか?

C#プログラムを作成していますが、コンピューターにインストールされているソフトウェアのインストールパスを見つける必要があります。私が使用しなければならないのは、プログラムの名前(Google Chromeなど)とプロセス名(Chrome.exeなど)です。今必要なのはChrome.exeへのパスです。プログラム名またはプロセス名のいずれかを検索のパラメーターとして渡す場合、C#を使用してパスを見つけるにはどうすればよいですか?実際、chrome.exeを見つけてリンクを呼び出すカスタムアクションを作成したいと思います。その後、chrome.exeを検索するためのパスを使用し、デフォルトでchromeを介してWebサイトを開きます。私は何をすべきか..?

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

wix - WiX FeaturesDlg のカスタマイズ - WiX UI をリアルタイムで変更する

WiX FeaturesDlg をカスタマイズして、特定のサーバー機能が選択されている場合、ユーザーがボタンをクリックして、サービスに使用するユーザー資格情報を設定できるようにしたいと考えています。私は解決策をまとめましたが、ユーザーが機能を変更しても「ユーザーの選択」ボタンは有効/無効にならないことに注意してください。ユーザーがクリックして戻ってから次へをクリックしてダイアログに戻る場合にのみ再評価されます。 . 機能の変更が発生したときに条件を再評価できる方法はありますか?

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

wix - wixproj と同じソリューションで WiX 拡張機能を参照する

ルート フォルダーに保存されているファイルから製品のバージョン情報を取得するための簡単な WiX プリプロセッサ拡張機能を作成しました。

この拡張機能を WiX セットアップ プロジェクトと同じソリューションに保持したいと思います。保守が容易だからです。しかし、問題は、テスト時にDebug構成を使用し、ビルドをリリースするときに に切り替えることReleaseです。これは、対処する拡張機能が 2 つあることを意味します。

現在の構成に応じて WiX に取得するように指示するにはどうすればよいですか?

WiX プロジェクトのプロパティの参照パスを見て、「..\MyWiXExtensions\bin\$(Configuration)\」をフォルダーとして追加し、MSBuild プロパティが取得されることを期待しましたが、そうではありません動作するようです。

ビルドイベントも見ました。出力 dll をセットアップ プロジェクトのフォルダーにコピーできますが、ソリューションを消去すると参照が壊れませんか?

WiX 3.7 と Visual Studio 2012 を使用しています。

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

wix - Wix 拡張機能を使用している場合、Server 2003 で Wix のインストールに失敗する

Wix 拡張機能を使用する *.msi インストールがあります:

  • WixFirewallExtension (ファイアウォールの例外を作成するには)
  • WixNetFxExtention (インストール時にネイティブ イメージを作成するため)

この msi は、Windows Server 2003 (32 ビットと 64 ビットの両方) にインストールしようとすると、「インストールが途中で終了しました...」というエラーで失敗します。Server 2008/Windows 7 などに問題なくインストールできます。

msi をビルドする前にファイアウォールとネイティブ イメージの部分を削除すると、msi を通常どおりにインストールできますが、明らかに追加のオプションを配置する必要はありません。

問題が何であるかを知っている人はいますか?

失敗を示すログ ファイルの一部を次に示しますが、失敗した理由は示されていません。

ログファイル

その他の注意事項:

  • ファイアウォールの部分を削除しても、ネイティブ イメージの部分を残すと失敗するため、拡張機能を使用するすべての操作が影響を受けると思われます。
  • ファイアウォール構成は、障害を無視するように設定されています。
  • ファイアウォールが有効で実行されていることを確認しました。
  • 管理者コマンドプロンプトからインストールしようとしましたが、違いはありません