Wix: How to set permissions for folder and all sub folders

后端 未结 3 1953
粉色の甜心
粉色の甜心 2020-11-29 06:39

I know how to set the permissions for a folder:


  
    

        
相关标签:
3条回答
  • 2020-11-29 06:45
    <DirectoryRef Id="INSTALLFOLDER">
            <Component Id="INSTALLFOLDER_Permission" Guid="*">
                <CreateFolder>
                    <util:PermissionEx User="Users" GenericAll="yes"/>
                </CreateFolder>
            </Component>
        </DirectoryRef>
    

    The answer above is correct, and you will set the permissions to all the folders and files in this folder.

    Please note: The CreateFolder tag should be in a component, and this component must be added to a Feature.

    Also, you have to add this to the command line of the compiler and the linker:

    -ext WixUIExtension -ext WixUtilExtension
    
    0 讨论(0)
  • 2020-11-29 07:00

    I solved: different PermissionEx are defined in Wix and Util schema (Wix PermissionEx and Util Extension PermissionEx)

    I used the Util version:

    • Add a reference to WixUtilExtension assembly
    • Add the UtilExtension namespace to the Wix tag:
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
    
    • Specify the Util PermissionEx version:
    <CreateFolder Directory="DirectoryToManage">
        <util:PermissionEx User="Users" GenericAll="yes" />
    </CreateFolder>
    
    0 讨论(0)
  • 2020-11-29 07:12

    First of all, I would recommend you using PermissionEx instead. It is a standard WiX extension and it has one really huge advantage over Permission - it doesn't overwrite, but modifies ACLs. And by default, it applies permissions to the folder and all its descendant files and folders, so you don't have to specify anything extra.

    Hope this helps.

    0 讨论(0)
提交回复
热议问题