diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-01-27 11:23:09 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-01-28 14:17:27 +0000 |
| commit | 3d08813c0b084c89dd8a74df55c918a4686dd79b (patch) | |
| tree | 91ab324089e78541a1458bba5d4ee0ff54c09772 /platform/windows/wscript | |
| parent | adb08a80a60b97be2a24b716b23840270e1d2f4e (diff) | |
Allow choice of whether or not to install the server/main program on Windows.
Diffstat (limited to 'platform/windows/wscript')
| -rw-r--r-- | platform/windows/wscript | 93 |
1 files changed, 59 insertions, 34 deletions
diff --git a/platform/windows/wscript b/platform/windows/wscript index a488f3023..2c16858c2 100644 --- a/platform/windows/wscript +++ b/platform/windows/wscript @@ -1,7 +1,13 @@ from __future__ import print_function +import os -def write_installer(bits): - f = open('installer.%d.nsi.test' % bits, 'w') +def write_installer(bits, version): + try: + os.makedirs('build/platform/windows') + except: + pass + + f = open('build/platform/windows/installer.%d.nsi' % bits, 'w') print('!include "MUI2.nsh"', file=f) if bits == 64: print('!include "x64.nsh"', file=f) @@ -9,28 +15,22 @@ def write_installer(bits): print('Name "DCP-o-matic"', file=f) print('RequestExecutionLevel admin', file=f) - print('outFile "DCP-o-matic @version@ %d-bit Installer.exe"' % bits, file=f) + print('outFile "DCP-o-matic %s %d-bit Installer.exe"' % (version, bits), file=f) print(""" !define MUI_ICON "%resources%/dcpomatic.ico" !define MUI_UNICON "%resources%/dcpomatic.ico" !define MUI_SPECIALBITMAP "%resources%/dcpomatic.bmp" +!include "Sections.nsh" InstallDir "$PROGRAMFILES\\DCP-o-matic" !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "../../../COPYING" !insertmacro MUI_PAGE_DIRECTORY -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH - -!insertmacro MUI_UNPAGE_WELCOME -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES -!insertmacro MUI_UNPAGE_FINISH - -!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_PAGE_COMPONENTS -Section "install" "Installation info" +Section "Common files (required)" SEC_COMMON +SectionIn RO """, file=f) if bits == 64: @@ -46,6 +46,7 @@ ${EndIf} print(""" SetOutPath "$INSTDIR\\bin" +WriteUninstaller "$INSTDIR\Uninstall.exe" File "%static_deps%/bin/libintl-8.dll" File "%static_deps%/bin/libboost_chrono-mt.dll" @@ -119,11 +120,6 @@ File "%cdist_deps%/bin/ffprobe.exe" File "%binaries%/src/wx/dcpomatic-wx.dll" File "%binaries%/src/lib/dcpomatic.dll" -File "%binaries%/src/tools/dcpomatic.exe" -File "%binaries%/src/tools/dcpomatic_batch.exe" -File "%binaries%/src/tools/dcpomatic_cli.exe" -File "%binaries%/src/tools/dcpomatic_server_cli.exe" -File "%binaries%/src/tools/dcpomatic_server.exe" # I don't know why, but sometimes it seems that # delegates.xml must be in with the binaries, and @@ -153,26 +149,56 @@ File "%binaries%/src/lib/mo/de_DE/libdcpomatic.mo" File "%binaries%/src/wx/mo/de_DE/libdcpomatic-wx.mo" File "%binaries%/src/tools/mo/de_DE/dcpomatic.mo" -CreateShortCut "$DESKTOP\\DCP-o-matic.lnk" "$INSTDIR\\bin\\dcpomatic.exe" "" -CreateShortCut "$DESKTOP\\DCP-o-matic batch converter.lnk" "$INSTDIR\\bin\\dcpomatic_batch.exe" "" -CreateShortCut "$DESKTOP\\DCP-o-matic encode server.lnk" "$INSTDIR\\bin\\dcpomatic_server.exe" "" - +WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" "DisplayName" "DCP-o-matic (remove only)" +WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" "UninstallString" "$INSTDIR\\Uninstall.exe" +WriteUninstaller "$INSTDIR\\Uninstall.exe" + +SectionEnd + +Section "DCP-o-matic" SEC_MASTER +SetOutPath "$INSTDIR\\bin" CreateDirectory "$SMPROGRAMS\\DCP-o-matic" -CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\Uninstall DCP-o-matic.lnk" "$INSTDIR\\Uninstall.exe" "" "$INSTDIR\\Uninstall.exe" 0 +File "%binaries%/src/tools/dcpomatic.exe" +File "%binaries%/src/tools/dcpomatic_batch.exe" +File "%binaries%/src/tools/dcpomatic_cli.exe" +CreateShortCut "$DESKTOP\\DCP-o-matic.lnk" "$INSTDIR\\bin\\dcpomatic.exe" "" CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\DCP-o-matic.lnk" "$INSTDIR\\bin\\dcpomatic.exe" "" "$INSTDIR\\bin\\dcpomatic.exe" 0 +CreateShortCut "$DESKTOP\\DCP-o-matic batch converter.lnk" "$INSTDIR\\bin\\dcpomatic_batch.exe" "" CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\DCP-o-matic batch converter.lnk" "$INSTDIR\\bin\\dcpomatic.exe" "" "$INSTDIR\\bin\\dcpomatic_batch.exe" 0 -CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\DCP-o-matic encode server.lnk" "$INSTDIR\\bin\\dcpomatic_server.exe" "" "$INSTDIR\\bin\\dcpomatic_server.exe" 0 - +CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\Uninstall DCP-o-matic.lnk" "$INSTDIR\\Uninstall.exe" "" "$INSTDIR\\Uninstall.exe" 0 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" "DisplayName" "DCP-o-matic (remove only)" WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" "UninstallString" "$INSTDIR\\Uninstall.exe" - WriteUninstaller "$INSTDIR\\Uninstall.exe" - SectionEnd - - + +Section "Encode server" SEC_SERVER +SetOutPath "$INSTDIR\\bin" +CreateDirectory "$SMPROGRAMS\\DCP-o-matic" +File "%binaries%/src/tools/dcpomatic_server_cli.exe" +File "%binaries%/src/tools/dcpomatic_server.exe" +CreateShortCut "$DESKTOP\\DCP-o-matic encode server.lnk" "$INSTDIR\\bin\\dcpomatic_server.exe" "" +CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\DCP-o-matic encode server.lnk" "$INSTDIR\\bin\\dcpomatic_server.exe" "" "$INSTDIR\\bin\\dcpomatic_server.exe" 0 +CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\Uninstall DCP-o-matic.lnk" "$INSTDIR\\Uninstall.exe" "" "$INSTDIR\\Uninstall.exe" 0 +SectionEnd + +LangString DESC_SEC_MASTER ${LANG_ENGLISH} "DCP-o-matic" +LangString DESC_SEC_SERVER ${LANG_ENGLISH} "DCP-o-matic encode server" + +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_MASTER} $(DESC_SEC_MASTER) + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SERVER} $(DESC_SEC_SERVER) +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH +!insertmacro MUI_LANGUAGE "English" + Section "Uninstall" - RMDir /r "$INSTDIR\\*.*" RMDir "$INSTDIR" Delete "$DESKTOP\\DCP-o-matic.lnk" @@ -182,11 +208,10 @@ Delete "$SMPROGRAMS\\DCP-o-matic\\*.*" RmDir "$SMPROGRAMS\\DCP-o-matic" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\\DCP-o-matic" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" - -SectionEnd + SectionEnd """, file=f) def build(bld): - write_installer(32) - write_installer(64) + write_installer(32, bld.env.VERSION) + write_installer(64, bld.env.VERSION) |
