COMPLus コンポーネントを正しく登録するインストーラーがあります。最後に 1 つ要件があります。 コンポーネント レベルのアクセス チェックを実施する ロールの下で、「ユーザー」ロールにチェックを入れます。
ComPlusAssembly の子として complus:ComPlusCompoent を追加しようとしましたが、これを行うとインストーラーがエラーで失敗します。(下記参照) CLSID として何を入力すればよいかわかりません。おそらくこれが問題の原因ですか? 誰でも私を助けることができますか?CLSID に何を入れるべきか説明してください。
以下のエラーと WiX スニペット 注: complus:ComPlusComponent 要素を削除すると、インストーラーは正常に動作します: My User 'ComponentUser" は上位で定義されます。ロールとユーザーはコンポーネントに割り当てられていますが、チェックされていません。
MSI (s) (68:BC) [16:25:08:579]: リモート カスタム アクションを呼び出しています。DLL: C:\Windows\Installer\MSICE31.tmp、エントリポイント: ComPlusInstallExecuteCommit アクション 16:25:08: ComPlusAssemblies を登録します。COM+ コンポーネントの登録 RegisterComPlusAssemblies: DLL: C:\NTApps\MyComPlusCore\ASA.DA.Insurance.dll ComPlusInstallExecuteCommit: エラー 0x80070490: コンポーネント オブジェクトが見つかりませんでした ComPlusInstallExecuteCommit: エラー 0x80070490: コンポーネントの構成に失敗しました ComPlusInstallExecuteCommit: エラー 0x80070490: アセンブリの登録に失敗しました,キー: ASA.DA.Insurance ComPlusInstallExecuteCommit: エラー 0x80070490: アセンブリの登録に失敗しました
<complus:ComPlusApplication Id="ASA.NETCoreData3"
Name="ASA.NETCoreData3"
Description="ASA .NET Core Data Components"
ApplicationAccessChecksEnabled="yes"
AccessChecksLevel="applicationComponentLevel"
Authentication="packet"
ImpersonationLevel="impersonate"
Activation="inproc">
<complus:ComPlusApplicationRole Id="ASA.NETCoreData3.Role"
Name ="User">
<complus:ComPlusUserInApplicationRole Id="ASA.NETCoreData3.User"
User="ComponentUser" />
</complus:ComPlusApplicationRole>
<complus:ComPlusAssembly Id="ASA.DA.Insurance"
DllPath="[#ASA.DA.Insurance_dll]"
Type="native"
RegisterInCommit="yes">
<complus:ComPlusComponent Id="ASA.DA.Insurance.Com"
CLSID="f8a83c94-9ab1-4c4d-8ebc-901aa747ac33"
Description="ASA.DA.Insurance.AppInsurance"
ComponentAccessChecksEnabled="yes" >
<complus:ComPlusRoleForComponent Id="ASA.DA.Insurance.Role"
ApplicationRole="ASA.NETCoreData3.Role" />
</complus:ComPlusComponent>
</complus:ComPlusAssembly>
</complus:ComPlusApplication>