Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WiX-注册ComPlus应用程序并为组件分配角色_Wix - Fatal编程技术网

WiX-注册ComPlus应用程序并为组件分配角色

WiX-注册ComPlus应用程序并为组件分配角色,wix,Wix,我已让安装程序正确注册COMPLus组件。 我还有最后一个要求: 强制执行组件级访问检查 在“角色”下,勾选“用户”角色 我尝试将complus:complusComponent添加为ComPlusAssembly的子级,但当我这样做时,安装程序失败并出现错误。(见下文) 我不确定我应该把什么作为CLSID,也许这就是导致问题的原因? 有人能帮我吗?解释我应该为CLSID放什么 下面是错误和WiX代码段 注: 如果删除complus:ComPlusComponent元素,则安装程序工作正常: 我

我已让安装程序正确注册COMPLus组件。 我还有最后一个要求: 强制执行组件级访问检查 在“角色”下,勾选“用户”角色

我尝试将complus:complusComponent添加为ComPlusAssembly的子级,但当我这样做时,安装程序失败并出现错误。(见下文) 我不确定我应该把什么作为CLSID,也许这就是导致问题的原因? 有人能帮我吗?解释我应该为CLSID放什么

下面是错误和WiX代码段 注: 如果删除complus:ComPlusComponent元素,则安装程序工作正常: 我的用户“ComponentUser”的定义更高。角色和用户已在组件中分配,但未勾选

MSI(68:BC)[16:25:08:579]:调用远程自定义操作。DLL:C:\Windows\Installer\MSICE31.tmp,入口点:ComPlusInstallExecuteCommit 操作16:25:08:注册表复合程序集。注册COM+组件 注册表复合程序集: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>

是的,是CLSID。 在该组件的早期安装程序中,使用了vb脚本,项目不需要静态CLSID,因此在项目中指定了该脚本

我需要向具体类添加Guid属性,然后在WiX ComPlusComponent clsid中使用此Guid

希望这对某人有所帮助。

是的,是CLSID。 在该组件的早期安装程序中,使用了vb脚本,项目不需要静态CLSID,因此在项目中指定了该脚本

我需要向具体类添加Guid属性,然后在WiX ComPlusComponent clsid中使用此Guid


希望这对某人有所帮助。

这一CLSID多久会改变一次??当我更改程序集版本时,它会更改。。。因此,每次我们升级版本时,我都必须更改我的WiX包。有没有办法保持它不变?这个CLSID多久会改变一次??当我更改程序集版本时,它会更改。。。因此,每次我们升级版本时,我都必须更改我的WiX包。有没有办法保持它不变?