使用环境变量workingdirectory设置Wix快捷方式

时间:2012-10-26 02:27:49

标签: wix wix3.6

我正在尝试使用WorkingDirectory创建WIX中的快捷方式:

<Shortcut Id="PowerShellShortcut" Name="$(var.PRODUCTNAME) Powershell Prompt" Description="$(var.PRODUCTNAME) Powershell Prompt" WorkingDirectory="%HOMEDRIVE%%HOMEPATH%" Target="[POWERSHELLEXE]" Arguments='-noexit -command "Import-Module [APPLICATIONFOLDER]Binaries\MA.dll | Out-Null"' />

当我尝试构建时,我收到以下错误:

  

错误1 Shortcut / @WorkDirectory属性的值'%HOMEDRIVE %% HOMEPATH%'不是合法标识符。标识符可以包含ASCII字符A-Z,a-z,数字,下划线(_)或句点(。)。每个标识符必须以字母或下划线开头。

是否有解决方法将文字字符串“%HOMEDRIVE %% HOMEPATH%”设置为快捷方式的WorkingDirectory?

2 个答案:

答案 0 :(得分:2)

您无法在%HOMEDRIVE%文件中使用.wxs等环境变量。而不是%HOMEDRIVE%%HOMEPATH%,请尝试使用$(env.HOMEDRIVE)$(env.HOMEPATH)

答案 1 :(得分:2)

根据Shortcut Table上的文档,工作目录(WkDir)存储具有您希望存储在快捷方式中的值的属性的名称。此属性可以是DirProperty(即也是目录表的引用),或者它可以仅保存硬编码字符串本身。如果您希望最终快捷方式包含文字文本%HOMEDRIVE%%HOMEPATH%,请将您的工作目录设置为类似WKDIR_HOME的内容,这是您已设置为%HOMEDRIVE%%HOMEPATH%的属性的名称。