mirror of https://github.com/H-uru/korman.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
4.6 KiB
169 lines
4.6 KiB
10 years ago
|
;;;;;;;;;;;;
|
||
|
; Includes ;
|
||
|
;;;;;;;;;;;;
|
||
|
!include MUI2.nsh
|
||
|
!include WinVer.nsh
|
||
|
!include x64.nsh
|
||
|
!include StrFunc.nsh
|
||
|
|
||
|
; Enable StrStr
|
||
|
${StrStr}
|
||
|
|
||
|
;;;;;;;;;;;;;;;;;;;;;;
|
||
|
; Installer Settings ;
|
||
|
;;;;;;;;;;;;;;;;;;;;;;
|
||
|
BrandingText "Korman"
|
||
|
CRCCheck on
|
||
|
OutFile "korman.exe"
|
||
|
RequestExecutionLevel admin
|
||
|
|
||
|
;;;;;;;;;;;;;;;;;;;;
|
||
|
; Meta Information ;
|
||
|
;;;;;;;;;;;;;;;;;;;;
|
||
|
Name "Korman"
|
||
|
VIAddVersionKey "CompanyName" "Guild of Writers"
|
||
|
VIAddVersionKey "FileDescription" "Blender Plugin for Plasma Age Creation"
|
||
|
VIAddVersionKey "FileVersion" "0"
|
||
|
VIAddVersionKey "LegalCopyright" "Guild of Writers"
|
||
|
VIAddVersionKey "ProductName" "Korman"
|
||
|
VIProductVersion "0.0.0.0"
|
||
|
|
||
|
;;;;;;;;;;;;;;;;;;;;;
|
||
|
; MUI Configuration ;
|
||
|
;;;;;;;;;;;;;;;;;;;;;
|
||
|
!define MUI_ABORTWARNING
|
||
|
!define MUI_ICON "Icon.ico"
|
||
|
!define MUI_FINISHPAGE_RUN "$INSTDIR\..\blender.exe"
|
||
|
|
||
|
; Custom Images :D
|
||
|
!define MUI_HEADERIMAGE
|
||
|
!define MUI_HEADERIMAGE_BITMAP "Header.bmp"
|
||
|
!define MUI_WELCOMEFINISHPAGE_BITMAP "WelcomeFinish.bmp"
|
||
|
|
||
|
;;;;;;;;;;;;;
|
||
|
; Variables ;
|
||
|
;;;;;;;;;;;;;
|
||
|
Var BlenderDir
|
||
|
Var BlenderVer
|
||
|
|
||
|
;;;;;;;;;;;;;
|
||
|
; Functions ;
|
||
|
;;;;;;;;;;;;;
|
||
|
|
||
|
; Inform the user if their OS is unsupported.
|
||
|
Function .onInit
|
||
|
${IfNot} ${AtLeastWinVista}
|
||
|
MessageBox MB_YESNO|MB_ICONEXCLAMATION \
|
||
|
"Windows Vista or above is required to run Korman$\r$\n\
|
||
|
You may install the client but will be unable to run it on this OS.$\r$\n$\r$\n\
|
||
|
Do you still wish to install?" \
|
||
|
/SD IDYES IDNO do_quit
|
||
|
${EndIf}
|
||
|
Goto done
|
||
|
do_quit:
|
||
|
Quit
|
||
|
done:
|
||
|
FunctionEnd
|
||
|
|
||
|
; Checks the install dir...
|
||
|
Function .onVerifyInstDir
|
||
|
IfFileExists "$INSTDIR\..\blender.exe" verify_python
|
||
|
Abort
|
||
|
|
||
|
verify_python:
|
||
|
IfFileExists "$INSTDIR\..\${PYTHON_DLL}" done
|
||
|
Abort
|
||
|
|
||
|
done:
|
||
|
FunctionEnd
|
||
|
|
||
|
; Tries to find the Blender directory in the registry.
|
||
|
Function FindBlenderDir
|
||
|
; Try to grab the Blender directory from the default registry...
|
||
|
ReadRegStr $BlenderDir HKLM "Software\BlenderFoundation" "Install_Dir"
|
||
|
ReadRegStr $BlenderVer HKLM "Software\BlenderFoundation" "ShortVersion"
|
||
|
|
||
|
; Bad news, old chap, certain x86 Blender versions will write their registry keys to the
|
||
|
; x64 registry. Dang! It looks like we will have to try to hack around that. But only if
|
||
|
; we got nothing...
|
||
|
${If} ${RunningX64}
|
||
|
StrCmp $BlenderDir "" try_again winning
|
||
|
|
||
|
try_again:
|
||
|
SetRegView 64
|
||
|
ReadRegStr $BlenderDir HKLM "Software\BlenderFoundation" "Install_Dir"
|
||
|
ReadRegStr $BlenderVer HKLM "Software\BlenderFoundation" "ShortVersion"
|
||
|
SetRegView 32
|
||
|
|
||
|
StrCmp $BlenderDir "" total_phailure
|
||
|
|
||
|
; Before we suggest this, let's make sure it's not Program Files (x64) version unleashed(TM)
|
||
|
StrCpy $0 "$PROGRAMFILES64\" ; Otherwise, it would match ALL Program Files directories...
|
||
|
${StrStr} $1 $BlenderDir $0
|
||
|
StrCmp $1 "" winning total_phailure
|
||
|
${EndIf}
|
||
|
|
||
|
winning:
|
||
|
StrCpy $INSTDIR "$BlenderDir\$BlenderVer"
|
||
|
Goto done
|
||
|
|
||
|
total_phailure:
|
||
|
StrCpy $INSTDIR ""
|
||
|
Goto done
|
||
|
|
||
|
done:
|
||
|
FunctionEnd
|
||
|
|
||
|
;;;;;;;;;
|
||
|
; Pages ;
|
||
|
;;;;;;;;;
|
||
|
!insertmacro MUI_PAGE_WELCOME
|
||
|
!insertmacro MUI_PAGE_LICENSE "GPLv3.txt"
|
||
|
!define MUI_PAGE_CUSTOMFUNCTION_PRE FindBlenderDir
|
||
|
!insertmacro MUI_PAGE_DIRECTORY
|
||
|
!insertmacro MUI_PAGE_INSTFILES
|
||
|
!insertmacro MUI_PAGE_FINISH
|
||
|
|
||
|
!insertmacro MUI_UNPAGE_CONFIRM
|
||
|
!insertmacro MUI_UNPAGE_INSTFILES
|
||
|
!insertmacro MUI_UNPAGE_FINISH
|
||
|
|
||
|
;;;;;;;;;;;;;
|
||
|
; Languages ;
|
||
|
;;;;;;;;;;;;;
|
||
|
!insertmacro MUI_LANGUAGE "English"
|
||
|
|
||
|
;;;;;;;;;;;;
|
||
|
; Sections ;
|
||
|
;;;;;;;;;;;;
|
||
|
Section "Runtimes"
|
||
|
SetOutPath "$TEMP\Korman"
|
||
|
File "Files\vcredist_x86.exe"
|
||
|
ExecWait "$TEMP\Korman\vcredist_x86.exe /q /norestart"
|
||
|
RMdir "$TEMP\Korman"
|
||
|
SectionEnd
|
||
|
|
||
|
Section "Files"
|
||
|
; The entire Korman
|
||
|
SetOutPath "$INSTDIR\scripts\addons"
|
||
|
File /r /x "__pycache__" /x "*.pyc" /x "*.komodo*" "..\korman"
|
||
|
|
||
|
; Libraries
|
||
|
SetOutPath "$INSTDIR\python\lib\site-packages"
|
||
|
File "Files\HSPlasma.dll"
|
||
|
File "Files\PyHSPlasma.pyd"
|
||
|
File "Files\NxCooking.dll"
|
||
|
|
||
|
WriteRegStr HKLM "Software\Korman" "" $INSTDIR
|
||
|
WriteUninstaller "$INSTDIR\korman_uninstall.exe"
|
||
|
SectionEnd
|
||
|
|
||
|
Section "Uninstall"
|
||
|
Delete "$INSTDIR\korman_uninstall.exe"
|
||
|
RMDir /r "$INSTDIR\scripts\addons\korman"
|
||
|
Delete "$INSTDIR\python\lib\site-packages\HSPlasma.dll"
|
||
|
Delete "$INSTDIR\python\lib\site-packages\PyHSPlasma.pyd"
|
||
|
Delete "$INSTDIR\python\lib\site-packages\NxCooking.dll"
|
||
|
DeleteRegKey /ifempty HKLM "Software\Korman"
|
||
|
SectionEnd
|