さまざまなファイルを指定できる2つの異なる場所にコピーするNSISスクリプトを作成しようとしています。 私はドキュメントと他のStackOverflowエントリをチェックしましたが、解決策は出ていません。 私の問題は、ディレクトリの2番目の変数を定義したいということです。このディレクトリでは、サンプルファイルとプロジェクトがコピーされます。!define MUI_PAGE_DIRECTORY_VARIABLEは変数を作成しません - NSIS
NSIをコンパイルしようとすると、私は次のエラー/警告を得る:ここで
3 warnings:
unknown variable/constant "APPDIR" detected, ignoring (C:\Users\max\Desktop\PortablePlayer\so.nsi:29)
unknown variable/constant "APPDIR" detected, ignoring (C:\Users\max\Desktop\PortablePlayer\so.nsi:33)
unknown variable/constant "APPDIR\Testfile.txt" detected, ignoring (C:\Users\max\Desktop\PortablePlayer\so.nsi:43)
は、私が使用している私のスクリプトです:
!include "MUI.nsh"
Name "MyApp"
OutFile "MyApp-Installer.exe"
InstallDir "$PROGRAMFILES\My App"
; Installation Directory for the App
!insertmacro MUI_PAGE_DIRECTORY
; Installation Directory for the samples and projects
!define MUI_PAGE_HEADER_SUBTEXT "Choose your custom Samples Folder"
!define MUI_DIRECTORYPAGE_TEXT_TOP "To separate your App and your samples and projects you can choose a different folder than the installation directory"
!define MUI_PAGE_DIRECTORY_VARIABLE $APPDIR
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Section ""
SetOutPath $INSTDIR
File Testfile.txt
SetOutPath $APPDIR
File Testfile.txt
FileOpen $0 "$DESKTOP\Hello_world.txt" w
FileWrite $0 $APPDIR
FileClose $0
WriteUninstaller "$INSTDIR\MyApp-Uninstaller.exe"
SectionEnd
Section "Uninstall"
Delete "$INSTDIR\Testfile.txt"
Delete "$INSTDIR\MyApp-Uninstaller.exe"
RMDir $INSTDIR
Delete "$APPDIR\Testfile.txt"
SectionEnd
デバッグのために私が値を書き込もうとしました$ APPDIRをテキストファイルに追加しますが、値の代わりに$ APPDIRだけを書きます。 $ INSTDIRに変更すると、$ INSTDIRの正しいパスが表示されます。 $ APPDIRの変数を初期化するにはどうすればよいですか? 上に初期化しようとすると、そこは空ですが、スクリプトが正常にコンパイルされた後にインストーラが失敗します。 NSIS 2.5.1
で勝利7を実行している
誰が間違っているものにいくつかの光を当てるていただけますか?
ありがとうございます!
私はあなたがv2.51ではなくv2.5.1を意味することを願っています:) – Anders