以下は、NSISインストーラの抜粋です。NSIS CreateShortCutは、ショートカットの対象フィールドに正しい文字列を表示しません。
私が実行したときに私の問題は、次のとおりです。
CreateShortCut "$DESKTOP\PRESS_Survey_PS.lnk" $shortcutPath "" $INSTDIR\images\appIcons\Survey.ico
これは、変数$ shortcutPathを使用してショートカットのターゲットフィールドでこれを生成します。
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command &.\PRESS_Survey.ps1"
$ shortcutPath変数は、以下のものを使用して構築されていますstrcpy:
StrCpy $powerShellPath "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "
StrCpy $shortcutPath $powerShellPath$\"&.\PRESS_Survey.ps1$\"
私がps1に$ shortcutPath変数を書き出すと使用してファイル:私は使用してショートカットを実行しようとすると
#C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "&.\PRESS_Survey.ps1"
:
FileWrite $0 $powershellComment$shortcutPath$NewLine
それは、これを生産する
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command &.\PRESS_Survey.ps1"
それが失敗し、PRESS_Survey.ps1がどこにあるか尋ねます。それが実行
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "&.\PRESS_Survey.ps1"
:
は私がターゲットフィールドにFileWrite関数のバージョンとCreateShortCutバージョンを交換した場合。$ shortcutPathの値が両方のインスタンスで同じでないのはなぜですか? これは私に何か間違っているのですか、これはWindowsのショートカットの問題ですか? どちらの場合も、これを解決する方法はありますか?
ありがとうございます。
ありがとうございました。それがトリックでした。 "もう一つの問題はパス内にあり、現在のディレクトリを意味し、ショートカットには使用しないことをお勧めします。"ショートカットの「開始」フィールドに、インストール先のディレクトリを設定します。 – FailureMachine
...インストーラには完全なパスが何であるかが分かっているので、完全なパスを使用することもできます。 – Anders
これはあなたのために働いた場合は、答えとしてマークする必要があります... – Anders