我需要通过我的安装程序设置dcom安全性,并且想知道在WiX中是否有本机方式来执行此操作。我希望通过以下对话框授予用户创建安装Access和Launch and Activate权限的权限:
我通过转到控制面板 - >管理工具 - >组件服务来访问它。右键单击“我的电脑” - >“属性”,然后转到“COM安全”选项卡。
我是否必须创建自定义操作才能执行此操作?
答案 0 :(得分:4)
我最终使用了名为dcomperm的平台sdk中的一个实用程序,并在WiX中使用自定义操作来执行此操作,因为我不认为WiX中存在此功能。它涉及到执行此操作的几个步骤,因为实际下载编译工具似乎很困难。
我必须做以下事情:
以下自定义操作是我添加到WiX的内容:
<CustomAction Id='GrantDcomAccessPermissions'
Directory='ToolsFolder'
Execute='deferred'
ExeCommand='[ToolsFolder]dcomperm.exe -da set ExactaMobile permit'
Return='ignore'/>
<CustomAction Id='GrantDcomLaunchAndActivatePermissions'
Directory='ToolsFolder'
Execute='deferred'
ExeCommand='[ToolsFolder]dcomperm.exe -dl set ExactaMobile permit'
Return='ignore'/>
<InstallExecuteSequence>
<Custom Action="GrantDcomAccessPermissions" After="InstallFiles">NOT Installed</Custom>
<Custom Action="GrantDcomLaunchAndActivatePermissions" After="InstallFiles">NOT Installed</Custom>
</InstallExecuteSequence>
以下是dcomperm的更完整的使用列表:
Syntax: dcomperm <option> [...]
Options:
-da <"set" or "remove"> <Principal Name> ["permit" or "deny"]
-da list
Modify or list the default access permission list
-dl <"set" or "remove"> <Principal Name> ["permit" or "deny"]
-dl list
Modify or list the default launch permission list
-aa <AppID> <"set" or "remove"> <Principal Name> ["permit" or "deny"]
-aa <AppID> default
-aa <AppID> list
Modify or list the access permission list for a specific AppID
-al <AppID> <"set" or "remove"> <Principal Name> ["permit" or "deny"]
-al <AppID> default
-al <AppID> list
Modify or list the launch permission list for a specific AppID
-runas <AppID> <Principal Name> <Password>
-runas <AppID> "Interactive User"
Set the RunAs information for a specific AppID
Examples:
dcomperm -da set redmond\t-miken permit
dcomperm -dl set redmond\jdoe deny
dcomperm -aa {12345678-1234-1234-1234-00aa00bbf7c7} list
dcomperm -al {12345678-1234-1234-1234-00aa00bbf7c7} remove redmond\t-miken
dcomperm -runas {12345678-1234-1234-1234-00aa00bbf7c7} redmond\jdoe password
希望有人发现这很有用,因为我很难确切地追踪到如何做到这一点。