0

プレインストールされているアプリケーションにプラグインdllをインストールしたい。プリインストールされたアプリケーションのレジストリには、その場所を取得できる場所があります。レジストリが見つからない場合。プラグインファイルをインストールしたくないだけです。Wise InstallationExpress7.4.0.214を使用しています。

私が行ったことは、レジストリにシステム検索を配置し、プラグインを出荷したいプログラムのインストール場所を取得することです

Directory_parentが""に設定され、DefaultDirが""に設定されている"PluginDir"という名前でDirectoryテーブルにエントリを作成しました。

MSIスクリプトで、[即時実行]タブにスクリプトを記述しました

REM Display the message fetched from the registry 
Display Message [InstalledDir]  

Set Directory PluginDir to [InstalledDir]Plugin\

メッセージボックスには正しいフェッチパスが表示されますが、Setディレクトリに移動するとすぐに、「InternalError2732.0」と表示されます。</p>

しかし、set directory Msiをコメントすると、エラーなしで実行されます。私は自分が間違っていることを理解していません。

4

3 に答える 3

0

私はから解決策を見つけました

http://www.dawnstar.com.au/wpshelp/tnt/conditional_changes.html

于 2010-10-18T11:42:50.093 に答える
0

賢明なことはよくわかりませんが(これはサービス終了製品です)、MSIではコンポーネントに条件を設定します。AppSearchはレジストリを読み取ってプロパティを設定しようとします。このプロパティを使用して、ディレクトリの割り当てと、コンポーネントとそのファイルがインストールされるかどうかのゲーティングの両方を行います。

于 2010-08-26T14:25:04.340 に答える
0

setディレクトリ呼び出しの順序が正しくありません。CostInitializeの後にシーケンスする必要があります。

ドキュメントhttp://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspxをご覧ください。

于 2010-08-30T01:31:06.003 に答える