問題タブ [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 - WiX で、インストールされているバージョンが少なくとも特定のバージョンであるかどうかをテストするにはどうすればよいですか?
WiX バンドルを構築しています。実行可能パッケージ (実際にはASCOM Platform 6 SP1) をチェーンする必要があります。検出条件は、特定のレジストリ キーが存在し、特定の最低限必要なバージョンよりも大きいバージョン番号が含まれていることです。これらの条件が満たされていない場合は、前提条件が満たされていないため、EXE ファイル パッケージをダウンロードしてインストールする必要があります。
私が作成したフラグメントは次のようになります。
これは正常にコンパイルされますが、セットアップを実行すると失敗します。ログ出力は次のとおりです。
問題は、キーが存在しないため、AscomPlatform6Buildが null であり、WiX が気に入らないことにあると思われます。
この検出条件を正しく構築するにはどうすればよいですか?
wix - Burn を使用してユーザーにマシンの再起動を強制する
WiX 3.6/ Burnで作成したブートローダーがあり、タグ<ExitCode Behavior="forceReboot"/>
ですべてが実行された後、アンインストール時にのみ実行されるようなコマンドがあるかどうか疑問に思っていました。<chain>
variables - ブートストラップ xml で書き込み変数を解決する方法
ブートストラップ プロジェクトを作成する際の目標の 1 つは、デフォルトのログの場所を設定することです。ローカルのアプリ データ フォルダーに基づく場所を希望します。組み込みの Burn 変数 LocalAppDataFolder を参照する方法がわかりません。これらの変数をコードで参照する方法に関する情報を見つけましたが、xml にはありません。
プロパティへの参照は次のようになります。
プロパティは次のように設定されます。
ログ出力は次のとおりです。
文字列変数 'LogLocation' を値 '[LocalAppDataFolder]MyLogFolder\Setup' に初期化しています
[LocalAppDataFolder] を解決するために何が欠けていますか?
前もって感謝します。
wix - カスタム Wix Burn ブートストラップが MSI インストール状態を検出しない
Wix/Burn (3.6 リリース バージョン) に基づいて、ウィザード スタイルのカスタム ブートストラップを作成しています。Wix 3.6 ブートストラップ コードに基づいています。
問題は、バンドルの一部である setup.msi のインストール状態をブートストラップで検出できないことです。
私が理解しているように、必要なのは Engine.Detect() を呼び出すことだけです。ここで、Engine は Bootstrapper アプリケーションからの Wix エンジンのインスタンスです。その時点で、Bootstrapper.Command.Action を調べて、必要な起動アクションを確認できるはずです。
私のバンドルには、.NET 4 (Web インストール) と私の setup.msi の 2 つのアイテムが含まれています。
ウィザードをメンテナンス モードにするか、インストール モードにするかを決定する手順が不足していると思われます。
installation - WiX burn bootstrapping x86 and x64 msi's into single No-UI bootstrapper
I have x64 and x86 versions of my installer .msi, and want to ship a single executable which simply checks the machine architecture and runs the x86/x64 MSI. The MSIs are basically identical, they install the same AnyCPU files, which I bundle in a shared .cab file so as not to double the size of the installer.
So far I've tried WiX Burn, which pops up a GUI which I don't want (I just want to use the MSI GUI), and I tried disabling the burn GUI via /silent flag - this propagates this flag to the MSIs so it disables all GUI for MSIs (not what I want).
I think I am correct when I say there is no default No-GUI version of Burn bootstrapper, and to create one you must edit the source code yourself? This sounds like a massive missing feature?
I've also tried DotNetInstaller which has it's own set of problems with a confusing user interface. I've also tried setupbld which does not support MSIs with an external cab.
wix - Wix ブートストラップ
WPF を使用してマネージド Wix ブートストラップを作成しました。実際のインストール手順では、複数の msi/exe およびバッチ ファイルを連鎖させる必要があります。
各パッケージの実行中に、現在実行されている msi/exe パッケージ/バッチ ファイルを示すメッセージが (できればブートストラップ UI から) 表示されます。つまり、ブートストラッパーには ProgressText が必要です。これを実現するにはどうすればよいですか?
別の質問: すべての msi をブートストラップ exe にパッケージ化したくありません。これは、次の理由によるものです。 msi が変更されるたびに、ブートストラップ exe 全体ではなく、更新または変更された msi のみを出荷したいと考えています。これを行う方法はありますか?
wix - バンドルは、インストール中にローカル フォルダーから MSI を参照できますか?
2 つの MsiPackage をチェーンしてバンドルを作成しています。バンドルには 2 つの MsiPackages が組み込まれ、バンドルされた .exe がインストーラーとして作成されます。インストール時に 2 つの MSI を含むローカル フォルダから MSI を参照するようにバンドルを設定できますか? 2 つの MSI をローカル フォルダーから参照し、インストール時にのみインストールしたいと考えています。ありがとう
wix - ThemeFile を使用すると Wix Bootstrapper が実行されない
テーマ ファイルが使用されていない場合、すべてのコンピューターで正常に動作する wix ブートストラップを作成しました。テーマ ファイルを使用すると、自分のコンピューターでは実行されますが、他のユーザーのコンピューターでは実行されません。
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
<bal:WixStandardBootstrapperApplication LicenseFile="C:\eula.rtf"
ThemeFile="C:\myTheme.xml" />
</BootstrapperApplicationRef>
wix - WiX バンドルのアップグレード: 古いバージョンが削除される前に、新しいバージョンの MSI がインストールされます
MSIをインストールし、.NET がインストールされているかどうかも確認するWiX バンドルがあります。バンドル (およびインストーラー) をインストールすると、すべてが期待どおりに機能します。
私の問題は、バンドルがアップグレードされたときです。アップグレードでは、バンドルは最初に MSI の v_Next をインストールし、次に MSI の v_Previous をアンインストールします。
この順序を変更するにはどうすればよいですか? アップグレードでは、v_Next をインストールする前に MSI の v_Previous をアンインストールする必要があります。
以下は私のバンドルです:
ロブさん、回答ありがとうございます。私はそれをやろうとしていますが、うまくいきません(確かに何かが欠けています)...これは私がMSIに持っているものです:
v_previous MSI を実行してから v_Next MSI (バンドル内ではなく個別に) を実行すると、両方がインストールされるため、アップグレードは実行されません。私は何を間違っていますか?
気にしないでください、MajorUpgrade は動作しています。vNext MSI のバージョン番号が間違っていました。マイナー アップグレードのサポートも追加する必要があります。
wix - ブートストラップ アプリケーションのロールバック
msi をインストールする Wix 書き込みブートストラップを作成しようとしています。ブートストラップ exe は正常に動作していますが、唯一の問題は、途中でインストールをキャンセルしようとすると、msi に追加されたカスタム アクションが停止しないことです。キャンセルボタンをクリックしているときに、インストールを停止してロールバックする方法を誰か教えてください。前もって感謝します。