文件未在WIX中的非管理员用户的Appdata文件夹中提供

时间:2012-07-12 19:04:57

标签: wix

我已经在我的wix安装程序中的APPDATA位置发送了一些文件。    我正在使用下面的代码。在管理模式下运行安装程序时,它正在该位置安装txt文件。但该文件不适用于非管理员用户。请帮我解决这个问题。

<CustomAction Id="PropertySource" Property="APPPATH" Value="[LocalAppDataFolder]APP1\APP2" /><Directory Id="APPPATH">
<Directory Id="Application">
    <Component Id="comp_txt" Guid="{10E0A568-3E37-49BD-A70B-8D7F63A17011}">
        <File Id="file_234487642387111122391332" Source="..\..\..\App.txt" />
    </Component>
</Directory></Directory>

在InstallExecuteSequence和InstallUISequence

<Custom Action="PropertySource" Sequence="1278" />

1 个答案:

答案 0 :(得分:1)

LocalAppDataFolder已经是有效的目录ID。您不需要自定义操作或APPDATA属性。只需通过常规方式将app1和app2定义为LocalAppDataFolder的子目录,即通过嵌套目录元素。

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="LocalAppDataFolder">
        <Directory Id="app1folder" Name="App1">
            <Directory Id="app2folder" Name="App2" />
        </Directory>
    </Directory>
</Directory>

然后将组件安装在所需的文件夹中:

<DirectoryRef="app2folder">
    <Component Id="App.txt">
        <File Source="..\..\..\App.txt" />
    </Component>
</DirectoryRef>

另请注意,您可以使用..\..\..\App.txt选项将基本路径传递给light.exe,而不是使用-b之类的尴尬路径:

light.exe -o mysetup.msi -b path\to\my\files *.wixobj

然后您可以在Source中使用相对于基本路径的路径。