0

フォルダーをコピー/上書きしようとすると、NSIS インストーラーがエラー コード 80 を返します。ユーザーの HD にコピーしようとしているフォルダーが既に存在するという事実に関係している可能性があると思います。しかし、私の場合、常に上書きしたいと思います。

エラーコード 80 はどういう意味ですか?

私のコードは次のとおりです。

# Write plugins to EXDS_Customisation\EXDS_USER\
ClearErrors
SetOverwrite try
SetOutPath "$INSTDIR\EXDS_User\"
FILE /r "${localInstallDir}\EXDS_Customisation\EXDS_User\${MAINPLUGINSDIR}"

${If} ${Errors}
    System::Call "Kernel32::GetLastError() i() .r1"
    # Prints: "Error code: 80"
    MessageBox MB_ICONINFORMATION|MB_OK "Error code: $1 "
        Quit
${EndIf}
4

1 に答える 1

1

常に上書きしたいのなら、なぜ使用TryしていないのSetOverwrite Onですか?

使用System::Call "Kernel32::GetLastError()...決して有効ではありません。System::Call には特別な?eオプションがありますが、あなたの場合には役に立ちません。NSIS から特定のエラー情報を取得することはできません。エラー フラグしかありません...

于 2013-03-19T02:48:22.883 に答える