我需要通过我的安装程序设置dcom安全性,并想知道在WiX中是否有本地方式来执行此操作。 我正在寻求授予我安装Access和启动和激活权限通过以下对话框创build一个用户:
我访问了这个控制面板 – >pipe理工具 – >组件服务。 右键单击我的电脑 – >属性,然后进入COM安全选项卡。
我将不得不创build一个自定义操作来做到这一点?
我最终使用了一个名为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
希望有人认为这很有用,考虑到我有一个困难的时间跟踪到底如何做到这一点。