MSIを介して条件付きでファイルをインストールします(内部エラー2732)
-
01-10-2019 - |
質問
プラグインDLLを事前にインストールしたアプリケーションにインストールしたい。プリインストールされたアプリケーションには、その場所を取得できる場所からレジストリにインストールされた場所があります。レジストリが見つからない場合。プラグインファイルをインストールしたくないだけです。 Wise Instrucation Express 7.4.0.214を使用しています。
私がやったことは、レジストリにシステム検索を配置することであり、プラグインを出荷したいプログラムのインストール場所を取得します
ディレクトリテーブルに「Plugindir」という名前でエントリを作成しました。
MSIスクリプトでは、即時タブでスクリプトを作成しました
REM Display the message fetched from the registry
Display Message [InstalledDir]
Set Directory PluginDir to [InstalledDir]Plugin\
メッセージボックスには正しいフェッチされたパスが表示されますが、ディレクトリを設定するとすぐに「内部エラー2732. 0」が表示されます。
しかし、コメントすると、set directory msi run with Error。私は自分が間違っていることを理解していません。
解決 3
他のヒント
私はあまりよく知らないのではないかと心配しています(これは人生の終わりの製品です)が、MSIではあなたのコンポーネントに状態を置いています。 AppSearchはレジストリを読み取ってプロパティを設定しようとし、ディレクトリの割り当てとコンポーネントとそのファイルのインストールがインストールされているかどうかをゲーティングするプロパティを使用します。
セットディレクトリコールは誤ってシーケンスされます。 CostInitializeの後にシーケンスする必要があります。
ドキュメントを見てください http://msdn.microsoft.com/en-us/library/aa372835(vs.85).aspx.