1

次の 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/@WorkingDirectory 属性の値 '%HOMEDRIVE%%HOMEPATH%' は有効な識別子ではありません。識別子には、ASCII 文字 A から Z、a から z、数字、アンダースコア (_)、またはピリオド (.) を含めることができます。すべての識別子は、文字またはアンダースコアで始まる必要があります。

ショートカットの WorkingDirectory としてリテラル文字列 "%HOMEDRIVE%%HOMEPATH%" を設定する回避策はありますか?

4

2 に答える 2

2

ファイルのよう%HOMEDRIVE%に環境変数を使用することはできません。.wxsの代わりに%HOMEDRIVE%%HOMEPATH%、使用してみてください$(env.HOMEDRIVE)$(env.HOMEPATH)

于 2012-10-26T08:24:59.353 に答える
2

Shortcut Tableのドキュメントによると、作業ディレクトリ (WkDir) には、ショートカットに保存する値を持つプロパティの名前が保存されます。このプロパティは、DirProperty (つまり、ディレクトリ テーブルへの参照でもある) の場合もあれば、ハードコードされた文字列自体を保持する場合もあります。最終的なショートカットにリテラル テキストを含める場合は%HOMEDRIVE%%HOMEPATH%、作業ディレクトリを、WKDIR_HOME設定したプロパティの名前のようなものに設定し%HOMEDRIVE%%HOMEPATH%ます。

于 2012-10-27T12:51:24.203 に答える