如何在WiX中设置IniFile的权限?

时间:2015-07-28 13:00:58

标签: wix

我的WiX脚本中有一个带有IniFile元素的组件。当应用程序在此帐户下运行时,我需要将本地服务的读写权限设置为生成的ini文件,并且必须能够从/向ini文件读取和写入。权限(Ex)元素不能将IniFile作为父级,因此我不会在WiX中看到本机方式来设置IniFile元素的权限,是否有人可以建议解决方案?该文件已安装到CommonAppData的子文件夹中。

在分发中包含现成的ini文件并将其简单地安装为文件的选项对我不利,因为文件的内容取决于各个安装(路径,计算机名称等)。

1 个答案:

答案 0 :(得分:0)

您使用的是什么版本的Wix? 我正在使用Wix v3.9并且可以使它工作。好吧,我不明白为什么PermissionEx元素会关注File选项卡的“Name”属性,特别是当PermissionEx本身嵌套/ File标签的子元素时。 这是我的示例项目。希望这会有所帮助:

             

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate />

    <Feature Id="ProductFeature" Title="INIFile" Level="1">
        <ComponentGroupRef Id="ProductComponents" />
    </Feature>
</Product>

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="INIFile" />
        </Directory>
    </Directory>
</Fragment>

<Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">

     <Component Id="ProductComponent">
   <File Id="TestFile" KeyPath="yes" Source="E:\Learning\Test Projects\Files\test.txt"   Name="test.txt">
     <PermissionEx Id="Blah" Sddl="O-AB-C" />
   </File>
   <IniFile Id="TestIni" Action="addLine" Directory="INSTALLFOLDER" Key="Test" Name="Test" Section="Test" Value="Test"/>
    </Component> 
    </ComponentGroup>
</Fragment>