%USERPROFILE不适用于WiX

时间:2017-01-20 15:37:18

标签: windows wix

我正在使用WiX设置我的应用程序。我想在Windows上的当前用户文件夹中复制/粘贴.ini文件(C:\ Users \ {username})

我在post上看到我应该使用标签 [%USERPROFILE] 。 我这样用它:

<Directory Id="UserFolder" Name="[%USERPROFILE]">
<Directory/>

因此,在包含.ini文件的C:\中创建了一个文件夹[%USERPROFILE]。这不是我想要的。

有没有人知道如何让它发挥作用?

1 个答案:

答案 0 :(得分:1)

[%USERPROFILE]是一个有效的环境变量引用,但我不认为它可以在此上下文中使用,因为此上下文不是formatted。有关详细信息,请参阅Directory Table

请注意,正如评论中所述,%USERPROFILE%可能是您可能要安装的任何文件的错误位置。请考虑使用其他predefined folder,例如AppDataFolderLocalAppDataFolderPersonalFolder

如果你选择PersonalFolder,我相信你可以改用它:

<Directory Id="PersonalFolder"> ... </Directory>

如果没有令人满意的预定义文件夹属性,您可以使用type 51type 35自定义操作(具体取决于您是在CostFinalize之前还是之后安排它来设置您的运行时间值)文件夹到[%USERPROFILE]。这些自定义操作将格式化它们使用的值。确保使用ALL-CAPS名称,以便在运行时设置它。例如,如果目录名为USERPROFILEFOLDER:

<SetDirectory Id="USERPROFILEFOLDER" Value="[%USERPROFILE]"/>
<!-- or -->
<SetProperty Id="USERPROFILEFOLDER" Value="[%USERPROFILE]"/>

(别忘了在某个地方安排行动。)