SHOW:
|
|
- or go back to the newest paste.
| 1 | - | outfile "$%temp%\nsistest.exe" |
| 1 | + | outfile "nsistest.exe" |
| 2 | requestexecutionlevel user | |
| 3 | showinstdetails show | |
| 4 | completedtext "Done (NSIS ${NSIS_VERSION}, Win $9)"
| |
| 5 | !include LogicLib.nsh | |
| 6 | !include WinVer.nsh | |
| 7 | !ifndef CSIDL_DESKTOP | |
| 8 | !define CSIDL_DESKTOP 0 | |
| 9 | !endif | |
| 10 | !ifndef CSIDL_DESKTOPDIRECTORY | |
| 11 | !define CSIDL_DESKTOPDIRECTORY 0x10 | |
| 12 | !endif | |
| 13 | !ifndef KF_FLAG_DONT_VERIFY | |
| 14 | !define KF_FLAG_DONT_VERIFY 0x00004000 | |
| 15 | - | DetailPrint ${dll}
|
| 15 | + | |
| 16 | ||
| 17 | !macro DumpCSIDL dll csidl | |
| 18 | DetailPrint ${dll}(${csidl})
| |
| 19 | !if "${dll}" != "shfolder"
| |
| 20 | System::Call 'shell32::SHGetSpecialFolderLocation(i$hwndparent,i${csidl},*i.r2)'
| |
| 21 | System::Call 'shell32::SHGetPathFromIDList(i r2,t.r1)' | |
| 22 | System::Call 'Ole32::CoTaskMemFree(i r2)' | |
| 23 | DetailPrint SHGetSpecialFolderLocation=$1 | |
| 24 | System::Call 'shell32::SHGetSpecialFolderPathA(i$hwndparent,m.r1,i${csidl},i0)'
| |
| 25 | DetailPrint SHGetSpecialFolderPathA=$1 | |
| 26 | System::Call 'shell32::SHGetSpecialFolderPathW(i$hwndparent,w.r1,i${csidl},i0)'
| |
| 27 | DetailPrint SHGetSpecialFolderPathW=$1 | |
| 28 | !endif | |
| 29 | System::Call '${dll}::SHGetFolderPathA(i$hwndparent,i${csidl},i0,i0,m.r1)'
| |
| 30 | DetailPrint SHGetFolderPathA=$1 | |
| 31 | System::Call '${dll}::SHGetFolderPathW(i$hwndparent,i${csidl},i0,i0,w.r1)'
| |
| 32 | DetailPrint SHGetFolderPathW=$1 | |
| 33 | !macroend | |
| 34 | ||
| 35 | Section | |
| 36 | Detailprint $$Desktop=$Desktop | |
| 37 | !insertmacro DumpCSIDL shfolder ${CSIDL_DESKTOP}
| |
| 38 | !insertmacro DumpCSIDL shell32 ${CSIDL_DESKTOP}
| |
| 39 | !insertmacro DumpCSIDL shfolder ${CSIDL_DESKTOPDIRECTORY}
| |
| 40 | !insertmacro DumpCSIDL shell32 ${CSIDL_DESKTOPDIRECTORY}
| |
| 41 | System::Call 'shell32::SHGetKnownFolderPath(g "{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}",i${KF_FLAG_DONT_VERIFY},i0,*w.r1)' ;leaking this mem
| |
| 42 | DetailPrint SHGetKnownFolderPath=$1 | |
| 43 | ||
| 44 | ${WinVerGetMajor} $1
| |
| 45 | ${WinVerGetMinor} $2
| |
| 46 | ${WinVerGetBuild} $3
| |
| 47 | ${WinVerGetServicePackLevel} $4
| |
| 48 | System::Call 'kernel32::IsWow64Process(i-1,*i 0 r5)' | |
| 49 | StrCpy $9 "$1.$2.$3 SP=$4 IsWow64=$5" | |
| 50 | SectionEnd |