問題タブ [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.
installation - WiXCAQuietExecCustomActionはインストールを停止します
パッケージのチェーンを使用してWiXBurnをインストールしています。
更新は/passiveモードで実行され、ユーザーの操作は必要ありません。
最後のパッケージは更新時にのみ実行され、唯一の目的は実行可能ファイルを実行することです。これは、次のコードを使用して実行されます。
ただし、MyApp.exeは起動しますが、MyApp.exeが終了するまでインストールは終了しません。明らかに、私はアプリを起動し、インストーラーがそれ自体を終了することを望んでいます。
インストールの完了後に実行するようにCustomActionを修正できません。
次の理由で:
どんなアイデアでもありがたいです。
更新:BrianJの答えは私を答えに導きます。@escistが問い合わせたように、私のCAの適切な部分は次のとおりです。
および他の場所(このプロセスを開始した可能性のある私のアプリがいくつかあるため、そのパスはレジストリに保存されます)。
wix - WIX バンドルで CustomAction を使用するには?
背景を説明すると、ベンダーから提供された 4 つの MSI があり、これは会社のサーバーに送信する必要があります (約 3500 台のサーバーを検討しています)。現在、私のカウンターパートは、vbs、ps1 スクリプトを使用してこれを管理しています。しかし、スクリプトの問題は、更新が来るたびに、新しいパッケージを実行する前に既存のパッケージをアンインストールすることと、大量のハードコーディングについて心配しなければならないことです。
4 つの MSI をすべてまとめてパッケージ化する WIX スクリプトを設定することで、プロセス全体を (ハードコーディングを大幅に減らして) 自動化したいと考えています。WIX バンドルについて読み、それを使用して単一の MSI を作成しました。しかし、今では 4 つの MSI に渡される変数がたくさんあるので、カスタム アクションを使用して、MSI が実行されている環境/マシンに基づいてこれらの変数を設定することを考えました。しかし、カスタム アクションを機能させることはできませんか? 何か不足していますか?
少しグーグルで検索したところ、バンドルに CustomActions がないように見えましたか? 誰か確認できますか?
また、CA がない場合、どのようなオプションがありますか? 4 つの MSI に渡される変数を操作するにはどうすればよいですか? それらのほとんどは、実行されているマシンに基づいて設定する必要があります (インストール パス、ユーザー ID、アプリケーション プール ID など)。
wix - WIX 書き込みのアンインストール?
バージョン(5.0.0.0)の4つのサードパーティMSIをインストールするWIX_bundle(V1.0.0.0)があります。これで、サード パーティの MSI の新しいバージョンが更新されました (6.0.0.0)。(v2.0.0.0) を使用して WIX_Bundle の新しいバージョンを作成しましたが、両方の WIX バンドルに同じアップグレード コードが含まれています。私が望んでいるのは、WIX_Bundle の新しいバージョンが以前のバージョン (v1.0.0.0 と 4 つの MSI) をアンインストールし、新しいバージョン (v2.0.0.0 と新しい 4 つの MSI) をインストールすることです。
しかし、WIX_BUndle V2.0.0.0 をインストールしようとすると、新しいバージョンのインストールが試行され、以前のバージョンのアンインストールが行われません。ここで何か不足していますか?
RelatedBundle Action="Upgrade" Id="$(var.UpgradeCode)" も追加しました。しかし、何もうまくいかないのですか?
新しいバージョンがインストールされる前にアンインストールが行われるという私の期待は正しいですか? アップグレードがあるかどうかに関係なく、以前の 4 つの MSI をアンインストールしてから、新しい WIX_Bundle (v2.0.0.0) に新しいバージョンをインストールします。これを強制できますか?
c# - ペイロード ID からライセンスを取得
カスタム BootstrapperApplication のペイロードからライセンス ファイルを取得する方法はありますか。エンジンにはバージョン変数と文字列変数があるようですが、ペイロードの内容を確認する方法はありません。
localization - Wix Bundle Bootstrapper のローカライズ
ファイルhyperlinkthemt.wxl(pl-pl) をローカライズしました。しかし、ブートストラッパーが表示されてすぐに消えてしまい、それ以上何も起こりません。問題を解決しようとしていたところ、ポーランド語の文字を使用できないことに気付きましたhyperlinktheme.wxl。それを変更する方法はありますか。私は何かをしようとしていましたHyperLinkTheme.wxl:
しかし、それは役に立ちませんでした。バンドル プロジェクトについてご存知かもしれませんが、ローカリゼーションを変更することはできません。
python - Pythonプログラムをディスクに書き込む方法はありますか?
私はこのクールなジオメトリと代数問題ソルバーを作成しました。友人がゲームの場合とほぼ同じように実行できるように、それをACに焼き付けたいと思いました。これを行う方法についてのアイデアはありますか?
wix - WiXBurnを使用して.NET4.xをインテリジェントにインストールする方法
.NET 4.0または4.5のいずれかを使用できるアプリケーションをインストールする場合、前提条件の.NET Frameworkをインストールする際のベストプラクティスは何ですか?そして、WiXでBurnを使用してどのように実装しますか?
これらは、私が知っているオプションとトレードオフです。
オプション1:.NET 4.0をインストールします(必要なものだけ)
- 利点:不明(これが唯一の選択肢であるWindows XPを除く)
オプション2:.NET 4.5が存在しない場合は、.NET4.5をインストールします
- 利点:ユーザーは、将来のアプリのために後で.NET4.5をインストールする必要がありません。ユーザーが後で.NET4.5にアップグレードするときに、アプリで.NETバージョンの変更が発生することはありません。アプリはすぐに.NET4.5のパフォーマンスが向上します。
オプション3:.NET4.xがどちらも存在しない場合にのみ.NET4.5をインストールします
- 利点:.NET 4.0がすでにインストールされている場合、オプション2よりもはるかに高速な展開。そうでない場合は、オプション2の利点が適用されます。
私の知る限り、パフォーマンスの向上が重要な場合はオプション2、平均展開速度が重要な場合はオプション3がベストプラクティスになります。これは正しいですか?オプション1の利点がありませんか?最も重要なことは、オプション3が理にかなっている場合、Webから.NETをインストールするときに、Burnを使用してどのように実装するのでしょうか。
wix - WiXManagedBootstrapperSetDownloadSourceの混乱
Engine.SetDownloadSource()メソッドに少し混乱しています。私がやろうとしているのは、バンドルされたパッケージのダウンロードURLを外部のWebサイトから内部のWebサイトに変更することです。(これを行うためのより簡単な方法がある場合、私は他の提案を受け入れます)。
今問題のために。このメソッドを呼び出すときは、ユーザーとパスワードを要求します。この情報をどこから入手すればよいかわかりません。
WebSitePath()は、WebサイトのベースURLを返すだけです。リンクを変更しなかった場合にMBAが使用するユーザー名とパスワードについてのヒントが見つかりません。同様に、現在のWindowsユーザーを使用して新しいリンクからダウンロードするようにMBAに指示する方法もわかりません。どんな助けでも大歓迎です。
visual-studio - VisualStudio 2012 プロジェクトが別の 2 つの構成に依存していることを指定する方法は?
私は VisualStudio 2012 ソリューションを持っています。これは多数の C++ プロジェクトで構成されており、それぞれがデバッグ/リリース構成とx64 / Win32プラットフォームを備えています。したがって、最終的に 4 つの実行可能ファイルが作成されます。
- Debug-Win32.exe
- デバッグ-x64.exe
- リリース Win32.exe
- リリース-x64.exe
それらのうち、WiX プロジェクトを使用して *リリース構成出力からインストーラーを作成します。
- リリース-Win32.exe -> インストーラ-Win32.msi
- Release-x64-exe -> Installer-x64.msi
次に、WiX 書き込みブートストラップ プロジェクトを作成して、それらを 1 つのブートストラップ実行可能ファイルにチェーンします。ブートストラップは、プラットフォームで実行する正しい MSI を選択します。
私の問題は、ブートストラップ プロジェクトが、インストーラー プロジェクトのWin32とx64の両方のターゲット プラットフォームに依存していることです。
現時点では、ブートストラップをビルドする前に、これらのプラットフォーム構成のビルドを手動でトリガーする必要があります。2 つのターゲット プラットフォーム構成にビルドの依存関係を作成する (msbuild スクリプトを手動で編集する) 方法はありますか?
installation - WiX Burn バンドルから特定のパッケージを削除/アンインストールする適切な方法は何ですか?
後続のリリースから削除したいパッケージがあります。今後の更新中にこのパッケージをユーザーのマシンからアンインストールする適切な方法は何ですか? (IE: 以下の Package_B を削除します)。
バンドルからパッケージ エントリを削除しようとし、バンドル バージョンを進めました。これは、この SO の質問の回答でしたが、うまくいきませんでした。