Microsoft took this link down. It's still up on web.archive.org, but it might not be necessary anyway since now we compile our own deps. Going to try without it.
86 lines
2.5 KiB
NSIS
86 lines
2.5 KiB
NSIS
!include "MUI.nsh"
|
|
|
|
!define MUI_ICON "install icon.ico"
|
|
!define MUI_UNICON "uninstall icon.ico"
|
|
|
|
!define APP_NAME "Olive"
|
|
!define APP_TARGET "olive-editor"
|
|
|
|
!define MUI_FINISHPAGE_RUN "$INSTDIR\olive-editor.exe"
|
|
|
|
SetCompressor lzma
|
|
|
|
Name ${APP_NAME}
|
|
|
|
|
|
!ifdef X64
|
|
InstallDir "$PROGRAMFILES64\${APP_NAME}"
|
|
!else
|
|
InstallDir "$PROGRAMFILES32\${APP_NAME}"
|
|
!endif
|
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
!insertmacro MUI_PAGE_LICENSE LICENSE
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
|
!define MUI_FINISHPAGE_NOAUTOCLOSE
|
|
!define MUI_FINISHPAGE_RUN_TEXT "Run ${APP_NAME}"
|
|
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchOlive"
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
Section "Olive"
|
|
SectionIn RO
|
|
SetOutPath $INSTDIR
|
|
File /r olive-editor\*
|
|
WriteUninstaller "$INSTDIR\uninstall.exe"
|
|
|
|
# Install Visual C++ 2010 Redistributable
|
|
#File "vcredist_x64.exe"
|
|
#ExecWait '"$INSTDIR\vcredist_x64.exe" /quiet'
|
|
#Delete "$INSTDIR\vcredist_x64.exe"
|
|
SectionEnd
|
|
|
|
Section "Create Desktop shortcut"
|
|
CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${APP_TARGET}.exe"
|
|
SectionEnd
|
|
|
|
Section "Create Start Menu shortcut"
|
|
CreateDirectory "$SMPROGRAMS\${APP_NAME}"
|
|
CreateShortCut "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk" "$INSTDIR\${APP_TARGET}.exe"
|
|
CreateShortCut "$SMPROGRAMS\${APP_NAME}\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe"
|
|
SectionEnd
|
|
|
|
Section "Associate *.ove files with Olive"
|
|
WriteRegStr HKCR ".ove" "" "OliveEditor.OVEFile"
|
|
WriteRegStr HKCR ".ove" "Content Type" "application/vnd.olive-project"
|
|
WriteRegStr HKCR "OliveEditor.OVEFile" "" "Olive project file"
|
|
WriteRegStr HKCR "OliveEditor.OVEFile\DefaultIcon" "" "$INSTDIR\olive-editor.exe,1"
|
|
WriteRegStr HKCR "OliveEditor.OVEFile\shell\open\command" "" "$\"$INSTDIR\olive-editor.exe$\" $\"%1$\""
|
|
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
|
SectionEnd
|
|
|
|
UninstPage uninstConfirm
|
|
UninstPage instfiles
|
|
|
|
Section "uninstall"
|
|
|
|
rmdir /r "$INSTDIR"
|
|
|
|
Delete "$DESKTOP\${APP_NAME}.lnk"
|
|
rmdir /r "$SMPROGRAMS\${APP_NAME}"
|
|
|
|
DeleteRegKey HKCR ".ove"
|
|
DeleteRegKey HKCR "OliveEditor.OVEFile"
|
|
DeleteRegKey HKCR "OliveEditor.OVEFile\DefaultIcon" ""
|
|
DeleteRegKey HKCR "OliveEditor.OVEFile\shell\open\command" ""
|
|
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
|
SectionEnd
|
|
|
|
Function LaunchOlive
|
|
ShellExecAsUser::ShellExecAsUser "" "$INSTDIR\${APP_TARGET}.exe"
|
|
FunctionEnd
|