我的WiX脚本中有一个带有IniFile元素的组件。当应用程序在此帐户下运行时,我需要将本地服务的读写权限设置为生成的ini文件,并且必须能够从/向ini文件读取和写入。权限(Ex)元素不能将IniFile作为父级,因此我不会在WiX中看到本机方式来设置IniFile元素的权限,是否有人可以建议解决方案?该文件已安装到CommonAppData的子文件夹中。
在分发中包含现成的ini文件并将其简单地安装为文件的选项对我不利,因为文件的内容取决于各个安装(路径,计算机名称等)。
答案 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>