私が作業しているアプリケーション用の NSIS インストーラー スクリプトがあり、デスクトップとスタート メニュー フォルダーにショートカットを配置できますが、各ショートカットの開始パスが間違っているため、アプリはデータ ファイルをショートカットがある場所に保存します。
ドキュメントではこの件に関してあまり役に立たなかったので、パスの開始を変更する簡単な方法はありますか?
Section "Desktop Shortcut" SHORTCUT
SetOutPath "$DESKTOP"
CreateShortcut "${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
ベストアンサー1
NSIS ドキュメントの次のページを参照してください。
http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.3.4
特に、次の文章に注目してください。
「$OUTDIR は作業ディレクトリとして使用されます。ショートカットを作成する前に SetOutPath を使用して変更できます。」
つまり、ショートカットの「スタート」フォルダを指定するには、「SetOutPath」を使用する必要があります。これが、Zerofiz が投稿したソリューションが機能する理由です。
Section "Desktop Shortcut" SHORTCUT
SetOutPath "$INSTDIR"
CreateShortcut "$DESKTOP\${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
これにより、ショートカットが $INSTDIR で開始されます。