所有相关链接似乎都假设我在其中使用DirectoryRefs和CreateFolder。当我运行加热时,我得到一个.wxs文件,其中包含<Directory>
标签和<Component>
标签,但不包含DirectoryRefs。我宁愿不手动重写整个5000行文件。有没有办法编辑这些标签的文件夹权限?
答案 0 :(得分:5)
您不必重写heat
自动生成的片段。您可以使用另一个片段中的DirectoryRef元素引用其中定义的目录。
您最有可能想要执行以下操作:
首先,更改热生成片段中根目录的ID。这可以通过-dr <DirectoryName>
的{{1}}命令行开关来完成。选择heat.exe
的名称,例如DirectoryName
。这对于方便地引用MY_ROOT_FOLDER
元素
接下来,创建一个特殊组件(在不同的片段中),它仅包含权限功能。像这样:
DirectoryRef
最后,不要忘记将此组件包含在您选择的功能中。
注意,默认情况下,<DirectoryRef Id="MY_ROOT_FOLDER">
<Component DiskId="1" Id="Permissions" Guid="GUID-GOES-HERE">
<Condition>...</Condition>
<CreateFolder>
<util:PermissionEx GenericAll="yes" User="[LOGON_ACCOUNT]" Domain="[LOGON_DOMAIN]" />
</CreateFolder>
</Component>
</DirectoryRef>
元素附加权限相关文件夹及其所有后代。