MSIを介して条件付きでファイルをインストールします(内部エラー2732)

StackOverflow https://stackoverflow.com/questions/3575152

質問

プラグイン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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top