1

EnterpriseServices (COM+) を介して ServicedComponent として登録され、サードパーティ アプリケーションによって COM RPC を介して呼び出されるクラスを含む .NET アセンブリがあります。したがって、これを GAC に追加しHKEY_CLASSES_ROOT\CLSID\{clsid}\CodeBase、GAC フォルダー内のアセンブリ DLL へのパスを含むレジストリ エントリを追加する必要があります。(regsvcs に頼ることはできません。これは 32 ビットのアセンブリであり、32 ビットのサードパーティ コンポーネントに依存しているためです。また、前に参照したサードパーティ アプリケーションでは、クラスを参照できません。 Wow6432Node)

質問は次のとおりです。

GAC で作成されるアセンブリへのパス、または少なくとも GAC フォルダー自体へのパスは、レジストリ キーなどの値で使用できるプロパティとして Windows インストーラーで使用できますか?

4

1 に答える 1

2

ファイルごとにコンポーネントがある場合は、コンポーネントの KeyPath はファイルがインストールされる場所 (この場合は GAC) を指します。MSI のレジストリ テーブルのエントリの値フィールドで、コンポーネント キーをトークンとして使用できます。

"assmb.dll" のファイル テーブルとそれに対応するコンポーネント ("assmb.dll") にファイル キーを持つアセンブリがあるとします。レジストリ テーブルの値フィールドを設定してアセンブリを [$assmb.dll] に登録すると、アセンブリのインストール場所に解決されます。このディレクトリが GAC の場合、GAC の場所に解決されます。

MSI のフォーマット済みフィールドの詳細については、こちらを参照してください。

于 2008-09-20T05:02:01.953 に答える