0

Petrel プラグインを展開するための Windows Installer XML (WiX) プロジェクトを作成するためのテンプレートやガイドラインはありますか?

古い *.vdproj/MSI 勧告の自然な後継者として WiX が選択されなかった理由はありますか?

Petrel プラグイン用の WiX を試した人はいますか? アイデアや経験の交換に興味があります。私は WiX に不慣れで、始めるのが難しいと感じています。

(トピック外: 「新しい」PIP パラダイムは無駄がなくシンプルですが、企業での使用には適していません。クライアントは、グループ ポリシーなどを通じて大規模な展開を容易にするために MSI を再パッケージ化できることを期待しています。別の投稿を投稿します。これについて質問します。)

4

2 に答える 2

3

MSI の生成方法に関係なく、Ocean/Petrel では MSI の展開が引き続きサポートされます (WiX は MSI を生成するもう 1 つの方法です)。

PluginManager.exeOcean/Petrel 2012.1 では、インストールとアンインストールのステップ中に、コマンド ライン ツールを呼び出すカスタム アクションを/installおよび/uninstallスイッチで定義する必要があります。カスタム アクションは<CustomAction>、WiX のタグを使用して定義されます。PluginManager.exeMSI カスタム アクションから呼び出すときは、次の 2 つの点に注意する必要があります。

  • /installerId:your_installer_idインストール中にコマンドライン スイッチで MSI インストーラー ID (通常は GUID) を指定する必要があります。これにより、Petrel のアンインストール時にプラグインの MSI の自動アンインストールが有効になります。

  • アンインストール中にスイッチで実行する必要がありますPluginManager.exe/runFromInstallerこれにより、MSI インストーラーから実行したことが PluginManager に通知されるため、MSI アンインストールをもう一度実行する必要はありません。

Ocean.chm の Plug-in Identity and Deployment ホワイト ペーパー (セクション「MSI インストーラーで PluginManager.exe を使用する方法」) で、PluginManager.exe コマンド ラインの完全な仕様とともに、これらおよびその他のヒントとコツを見つけることができます。

于 2012-05-03T14:59:20.443 に答える
0

Petrel 2013 に関する重要な情報:

Wix で作成された MSI を使用してインストールまたはアンインストールできるプラグインがあります。PluginManager.exe引数を使用せずに PIP をインストールする場合/installerId:<msi_installer_id>、Petrel を使用してプラグインをアンインストールすると、すべてのファイルが物理的に削除されますが、Windows アンインストーラー プラグインに矛盾が生じます。引数を使用すると/installerId:<msi_installer_id>、Petrel を使用してプラグインをアンインストールすると、プラグインが論理的に削除され、元のディレクトリに物理的に保持されます。これにより、Petrel によって後でインストールすることもできます。後者の場合、Windows はプラグインをアンインストールし、すべてのファイルを削除できるため、矛盾はありません。

問題は、Petrel 2013 を使用してプラグインをアンインストールすると、MSI アンインストーラーが呼び出されないことです。そうではありませんか?これはバグのようです。

于 2014-05-07T18:56:33.473 に答える