1 from __future__ import print_function
4 def write_installer(bits, dcpomatic_version, debug, disk):
7 ('batch', 'Batch Converter'),
8 ('kdm', 'KDM Creator'),
9 ('kdm_cli', 'KDM Creator CLI'),
12 ('create', 'Creator'),
13 ('playlist', 'Playlist Editor'),
14 ('combiner', 'Combiner'),
19 tools.append(('disk', 'Disk Writer'))
21 # It would be nice to use exist_ok here but it requires quite a new python
23 os.makedirs('build/platform/windows')
27 filename = 'build/platform/windows/installer.%d.nsi' % bits
29 f = open(filename, 'w')
30 print('!include "MUI2.nsh"', file=f)
32 print('!include "x64.nsh"', file=f)
35 print('Name "DCP-o-matic debug"', file=f)
37 print('Name "DCP-o-matic"', file=f)
39 print('RequestExecutionLevel admin', file=f)
41 outfile = 'DCP-o-matic '
44 outfile += '%s %d-bit Installer.exe' % (dcpomatic_version, bits)
46 print('outFile "%s"' % outfile, file=f)
49 !define MUI_ICON "%graphics%/windows/dcpomatic2.ico"
50 !define MUI_UNICON "%graphics%/windows/dcpomatic2.ico"
51 !define MUI_SPECIALBITMAP "%graphics%/windows/dcpomatic.bmp"
52 !include "Sections.nsh"
56 program_files = "$PROGRAMFILES64"
58 program_files = "$PROGRAMFILES"
61 print('InstallDir "%s\\DCP-o-matic 2 debug"' % program_files, file=f)
63 print('InstallDir "%s\\DCP-o-matic 2"' % program_files, file=f)
66 !insertmacro MUI_PAGE_WELCOME
67 !insertmacro MUI_PAGE_LICENSE "../../../COPYING"
68 !insertmacro MUI_PAGE_DIRECTORY
69 !insertmacro MUI_PAGE_COMPONENTS
71 !define SF_USELECTED 0
78 !macro SecUnSelect SecId
80 IntOp $0 ${SF_USELECTED} | ${SF_RO}
81 SectionSetFlags ${SecId} $0
82 SectionSetText ${SecId} ""
86 !define UnSelectSection '!insertmacro SecUnSelect'
89 !define GetOptions `!insertmacro GetOptionsCall`
91 !macro GetOptionsCall _PARAMETERS _OPTION _RESULT
122 StrCmp $5$7 '0' notfound
123 StrCmp $5 '' trimright
149 StrCmp $7 0 trimleft trimright
154 StrCmp $5 '' notfound
196 ${GetOptions} $R0 /NOSERVER= $0
198 ${UnSelectSection} "Encode server"
202 Section "Common files (required)" SEC_COMMON
208 ; disable registry redirection (enable access to 64-bit portion of registry)
213 SetOutPath "$INSTDIR\\bin"
214 WriteUninstaller "$INSTDIR\\Uninstall.exe"
216 File "%static_deps%/bin/libintl-8.dll"
219 for lib in ['chrono', 'filesystem', 'system', 'thread', 'date_time', 'locale', 'regex']:
220 print('File "%%static_deps%%/bin/libboost_%s-mt-x%d.dll"' % (lib, bits), file=f)
223 print('File "%static_deps%/bin/libgcc_s_sjlj-1.dll"', file=f)
225 print('File "%static_deps%/bin/libgcc_s_seh-1.dll"', file=f)
228 File "%static_deps%/bin/libgio-2.0-0.dll"
229 File "%static_deps%/bin/libglib-2.0-0.dll"
230 File "%static_deps%/bin/libgobject-2.0-0.dll"
231 File "%static_deps%/bin/libiconv-2.dll"
232 File "%static_deps%/bin/libjpeg-9.dll"
233 File "%static_deps%/bin/libpng16-16.dll"
234 File "%static_deps%/bin/libsigc-2.0-0.dll"
235 File "%static_deps%/bin/libsndfile-1.dll"
236 File "%static_deps%/bin/libssh.dll"
237 File "%static_deps%/bin/libstdc++-6.dll"
238 File "%static_deps%/bin/zlib1.dll"
239 File "%static_deps%/bin/libjpeg-9.dll"
240 File "%static_deps%/bin/wxbase314u_gcc_custom.dll"
241 File "%static_deps%/bin/wxmsw314u_core_gcc_custom.dll"
242 File "%static_deps%/bin/wxmsw314u_adv_gcc_custom.dll"
243 File "%static_deps%/bin/wxmsw314u_richtext_gcc_custom.dll"
244 File "%static_deps%/bin/wxmsw314u_html_gcc_custom.dll"
245 File "%static_deps%/bin/wxmsw314u_gl_gcc_custom.dll"
246 File "%static_deps%/bin/wxmsw314u_propgrid_gcc_custom.dll"
247 File "%static_deps%/bin/wxbase314u_xml_gcc_custom.dll"
248 File "%static_deps%/bin/libcairo-2.dll"
249 File "%static_deps%/bin/libfreetype-6.dll"
250 File "%static_deps%/bin/libgthread-2.0-0.dll"
251 File "%static_deps%/bin/libpango-1.0-0.dll"
252 File "%static_deps%/bin/libgmodule-2.0-0.dll"
253 File "%static_deps%/bin/libpangocairo-1.0-0.dll"
254 File "%static_deps%/bin/libpangowin32-1.0-0.dll"
255 File "%static_deps%/bin/libtiff-5.dll"
256 File "%static_deps%/bin/libglibmm-2.4-1.dll"
257 File "%static_deps%/bin/libxml++-2.6-2.dll"
258 File "%static_deps%/bin/libxml2-2.dll"
259 File "%static_deps%/bin/libpixman-1-0.dll"
260 File "%static_deps%/bin/libfontconfig-1.dll"
261 File "%static_deps%/bin/libexpat-1.dll"
262 File "%static_deps%/bin/libbz2.dll"
263 File "%static_deps%/bin/libxmlsec1.dll"
264 File "%static_deps%/bin/libxmlsec1-openssl.dll"
265 File "%static_deps%/bin/libexslt-0.dll"
266 File "%static_deps%/bin/libxslt-1.dll"
267 File "%static_deps%/bin/libffi-6.dll"
268 File "%static_deps%/bin/openssl.exe"
269 File "%static_deps%/bin/libcurl-4.dll"
270 File "%static_deps%/bin/libzip.dll"
271 File "%static_deps%/bin/libcairomm-1.0-1.dll"
272 File "%static_deps%/bin/libpangomm-1.4-1.dll"
273 File "%static_deps%/bin/libsamplerate-0.dll"
274 File "%static_deps%/bin/libnettle-8.dll"
275 File "%static_deps%/bin/icuuc66.dll"
276 File "%static_deps%/bin/icudt66.dll"
277 File "%static_deps%/bin/icuin66.dll"
278 File "%static_deps%/bin/liblzma-5.dll"
279 File "%static_deps%/bin/libpcre-1.dll"
280 File "%static_deps%/bin/libharfbuzz-0.dll"
281 File "%static_deps%/bin/libwinpthread-1.dll"
282 File "%static_deps%/bin/libgnutls-30.dll"
283 File "%static_deps%/bin/libgmp-10.dll"
284 File "%static_deps%/bin/libhogweed-6.dll"
285 File "%static_deps%/bin/libidn2-0.dll"
286 File "%static_deps%/bin/libunistring-2.dll"
287 File "%static_deps%/bin/libssh2-1.dll"
288 File "%static_deps%/bin/libgcrypt-20.dll"
289 File "%static_deps%/bin/libgpg-error-0.dll"
290 File "%static_deps%/bin/libpangoft2-1.0-0.dll"
291 File "%static_deps%/bin/libx264-155.dll"
292 File "%static_deps%/bin/libwebp-7.dll"
293 File "%static_deps%/bin/GLEW.dll"
294 File "%static_deps%/bin/libdav1d.dll"
298 print('File "%static_deps%/bin/libcrypto-3.dll"', file=f)
300 print('File "%static_deps%/bin/libcrypto-3-x64.dll"', file=f)
303 File "%static_deps%/bin/libltdl-7.dll"
304 File "%static_deps%/bin/libdl.dll"
305 File /oname=dcpomatic2_verify.exe "%cdist_deps%/bin/dcpverify.exe"
306 File "%cdist_deps%/bin/leqm_nrt.dll"
307 File "%cdist_deps%/bin/asdcp-carl.dll"
308 File "%cdist_deps%/bin/kumu-carl.dll"
313 File "%static_deps%/bin/libnanomsg.dll"
314 File "%cdist_deps%/lib/libblockdev.dll"
315 File "%cdist_deps%/lib/liblwext4.dll"
319 File "%cdist_deps%/bin/avcodec-58.dll"
320 File "%cdist_deps%/bin/avfilter-7.dll"
321 File "%cdist_deps%/bin/avformat-58.dll"
322 File "%cdist_deps%/bin/avutil-56.dll"
323 File "%cdist_deps%/bin/avdevice-58.dll"
324 File "%cdist_deps%/bin/postproc-55.dll"
325 File "%cdist_deps%/bin/swresample-3.dll"
326 File "%cdist_deps%/bin/swscale-5.dll"
327 File "%cdist_deps%/bin/dcp-1.0.dll"
328 File "%cdist_deps%/bin/cxml-0.dll"
329 File "%cdist_deps%/bin/sub-1.0.dll"
330 File "%cdist_deps%/bin/ffprobe.exe"
331 File "%cdist_deps%/src/openssl/apps/openssl.exe"
332 File "%cdist_deps%/bin/libopenjp2.dll"
336 print('File "%resources%/gdb_script"', file=f)
337 print('File "%resources%/dcpomatic2_debug.bat"', file=f)
338 print('File "%mingw%/bin/gdb.exe"', file=f)
339 print('File "%static_deps%/bin/libtermcap.dll"', file=f)
340 print('File "%static_deps%/bin/libreadline8.dll"', file=f)
341 print('File "%static_deps%/bin/libmman.dll"', file=f)
343 print('File "%%resources%%/dcpomatic2_%s_debug.bat"' % s, file=f)
345 print('File "%binaries%/src/wx/dcpomatic2-wx.dll"', file=f)
346 print('File "%binaries%/src/lib/dcpomatic2.dll"', file=f)
349 SetOutPath "$INSTDIR\\bin"
351 SetOutPath "$INSTDIR\\locale\\fr\\LC_MESSAGES"
352 File "%binaries%/src/lib/mo/fr_FR/libdcpomatic2.mo"
353 File "%binaries%/src/wx/mo/fr_FR/libdcpomatic2-wx.mo"
354 File "%binaries%/src/tools/mo/fr_FR/dcpomatic2.mo"
355 File "%static_deps%/share/locale/fr/LC_MESSAGES/wxstd.mo"
356 SetOutPath "$INSTDIR\\locale\\it\\LC_MESSAGES"
357 File "%binaries%/src/lib/mo/it_IT/libdcpomatic2.mo"
358 File "%binaries%/src/wx/mo/it_IT/libdcpomatic2-wx.mo"
359 File "%binaries%/src/tools/mo/it_IT/dcpomatic2.mo"
360 File "%static_deps%/share/locale/it/LC_MESSAGES/wxstd.mo"
361 SetOutPath "$INSTDIR\\locale\\es\\LC_MESSAGES"
362 File "%binaries%/src/lib/mo/es_ES/libdcpomatic2.mo"
363 File "%binaries%/src/wx/mo/es_ES/libdcpomatic2-wx.mo"
364 File "%binaries%/src/tools/mo/es_ES/dcpomatic2.mo"
365 File "%static_deps%/share/locale/es/LC_MESSAGES/wxstd.mo"
366 SetOutPath "$INSTDIR\\locale\\sv\\LC_MESSAGES"
367 File "%binaries%/src/lib/mo/sv_SE/libdcpomatic2.mo"
368 File "%binaries%/src/wx/mo/sv_SE/libdcpomatic2-wx.mo"
369 File "%binaries%/src/tools/mo/sv_SE/dcpomatic2.mo"
370 File "%static_deps%/share/locale/sv/LC_MESSAGES/wxstd.mo"
371 SetOutPath "$INSTDIR\\locale\\de\\LC_MESSAGES"
372 File "%binaries%/src/lib/mo/de_DE/libdcpomatic2.mo"
373 File "%binaries%/src/wx/mo/de_DE/libdcpomatic2-wx.mo"
374 File "%binaries%/src/tools/mo/de_DE/dcpomatic2.mo"
375 File "%static_deps%/share/locale/de/LC_MESSAGES/wxstd.mo"
376 SetOutPath "$INSTDIR\\locale\\nl\\LC_MESSAGES"
377 File "%binaries%/src/lib/mo/nl_NL/libdcpomatic2.mo"
378 File "%binaries%/src/wx/mo/nl_NL/libdcpomatic2-wx.mo"
379 File "%binaries%/src/tools/mo/nl_NL/dcpomatic2.mo"
380 File "%static_deps%/share/locale/nl/LC_MESSAGES/wxstd.mo"
381 SetOutPath "$INSTDIR\\locale\\ru\\LC_MESSAGES"
382 File "%binaries%/src/lib/mo/ru_RU/libdcpomatic2.mo"
383 File "%binaries%/src/wx/mo/ru_RU/libdcpomatic2-wx.mo"
384 File "%binaries%/src/tools/mo/ru_RU/dcpomatic2.mo"
385 File "%static_deps%/share/locale/ru/LC_MESSAGES/wxstd.mo"
386 SetOutPath "$INSTDIR\\locale\\pl\\LC_MESSAGES"
387 File "%binaries%/src/lib/mo/pl_PL/libdcpomatic2.mo"
388 File "%binaries%/src/wx/mo/pl_PL/libdcpomatic2-wx.mo"
389 File "%binaries%/src/tools/mo/pl_PL/dcpomatic2.mo"
390 File "%static_deps%/share/locale/pl/LC_MESSAGES/wxstd.mo"
391 SetOutPath "$INSTDIR\\locale\\da\\LC_MESSAGES"
392 File "%binaries%/src/lib/mo/da_DK/libdcpomatic2.mo"
393 File "%binaries%/src/wx/mo/da_DK/libdcpomatic2-wx.mo"
394 File "%binaries%/src/tools/mo/da_DK/dcpomatic2.mo"
395 File "%static_deps%/share/locale/da/LC_MESSAGES/wxstd.mo"
396 SetOutPath "$INSTDIR\\locale\\pt_PT\\LC_MESSAGES"
397 File "%binaries%/src/lib/mo/pt_PT/libdcpomatic2.mo"
398 File "%binaries%/src/wx/mo/pt_PT/libdcpomatic2-wx.mo"
399 File "%binaries%/src/tools/mo/pt_PT/dcpomatic2.mo"
400 SetOutPath "$INSTDIR\\locale\\pt_BR\\LC_MESSAGES"
401 File "%binaries%/src/lib/mo/pt_BR/libdcpomatic2.mo"
402 File "%binaries%/src/wx/mo/pt_BR/libdcpomatic2-wx.mo"
403 File "%binaries%/src/tools/mo/pt_BR/dcpomatic2.mo"
404 SetOutPath "$INSTDIR\\locale\\sk\\LC_MESSAGES"
405 File "%binaries%/src/lib/mo/sk_SK/libdcpomatic2.mo"
406 File "%binaries%/src/wx/mo/sk_SK/libdcpomatic2-wx.mo"
407 File "%binaries%/src/tools/mo/sk_SK/dcpomatic2.mo"
408 SetOutPath "$INSTDIR\\locale\\cs\\LC_MESSAGES"
409 File "%binaries%/src/lib/mo/cs_CZ/libdcpomatic2.mo"
410 File "%binaries%/src/wx/mo/cs_CZ/libdcpomatic2-wx.mo"
411 File "%binaries%/src/tools/mo/cs_CZ/dcpomatic2.mo"
412 File "%static_deps%/share/locale/cs/LC_MESSAGES/wxstd.mo"
413 SetOutPath "$INSTDIR\\locale\\uk\\LC_MESSAGES"
414 File "%binaries%/src/lib/mo/uk_UA/libdcpomatic2.mo"
415 File "%binaries%/src/wx/mo/uk_UA/libdcpomatic2-wx.mo"
416 File "%binaries%/src/tools/mo/uk_UA/dcpomatic2.mo"
417 SetOutPath "$INSTDIR\\locale\\zh_cn\\LC_MESSAGES"
418 File "%binaries%/src/lib/mo/zh_CN/libdcpomatic2.mo"
419 File "%binaries%/src/wx/mo/zh_CN/libdcpomatic2-wx.mo"
420 File "%binaries%/src/tools/mo/zh_CN/dcpomatic2.mo"
421 SetOutPath "$INSTDIR\\locale\\tr_tr\\LC_MESSAGES"
422 File "%binaries%/src/lib/mo/tr_TR/libdcpomatic2.mo"
423 File "%binaries%/src/wx/mo/tr_TR/libdcpomatic2-wx.mo"
424 File "%binaries%/src/tools/mo/tr_TR/dcpomatic2.mo"
425 SetOutPath "$INSTDIR\\locale\\sl_si\\LC_MESSAGES"
426 File "%binaries%/src/lib/mo/sl_SI/libdcpomatic2.mo"
427 File "%binaries%/src/wx/mo/sl_SI/libdcpomatic2-wx.mo"
428 File "%binaries%/src/tools/mo/sl_SI/dcpomatic2.mo"
429 SetOutPath "$INSTDIR\\locale\\hu_hu\\LC_MESSAGES"
430 File "%binaries%/src/lib/mo/hu_HU/libdcpomatic2.mo"
431 File "%binaries%/src/wx/mo/hu_HU/libdcpomatic2-wx.mo"
432 File "%binaries%/src/tools/mo/hu_HU/dcpomatic2.mo"
434 SetOutPath "$INSTDIR"
435 File "%resources%/../../fonts/LiberationSans-Regular.ttf"
436 File "%resources%/../../fonts/LiberationSans-Italic.ttf"
437 File "%resources%/../../fonts/LiberationSans-Bold.ttf"
438 File /oname=fonts.conf "%resources%/../../fonts/fonts.conf.windows"
439 File "%graphics%/splash.png"
440 File "%graphics%/zoom_white.png"
441 File "%graphics%/zoom_black.png"
442 File "%graphics%/zoom_all_white.png"
443 File "%graphics%/zoom_all_black.png"
444 File "%graphics%/select_white.png"
445 File "%graphics%/select_black.png"
446 File "%graphics%/snap_white.png"
447 File "%graphics%/snap_black.png"
448 File "%graphics%/sequence_white.png"
449 File "%graphics%/sequence_black.png"
450 File "%graphics%/me.jpg"
451 File "%graphics%/tick.png"
452 File "%graphics%/no_tick.png"
453 File "%graphics%/link.png"
454 SetOutPath "$INSTDIR\\xsd"
455 File "%cdist_deps%/share/libdcp/xsd/DCDMSubtitle-2010.xsd"
456 File "%cdist_deps%/share/libdcp/xsd/DCSubtitle.v1.mattsson.xsd"
457 File "%cdist_deps%/share/libdcp/xsd/Dolby-2012-AD.xsd"
458 File "%cdist_deps%/share/libdcp/xsd/isdcf-mca.xsd"
459 File "%cdist_deps%/share/libdcp/xsd/Main-Stereo-Picture-CPL.xsd"
460 File "%cdist_deps%/share/libdcp/xsd/PROTO-ASDCP-AM-20040311.xsd"
461 File "%cdist_deps%/share/libdcp/xsd/PROTO-ASDCP-CC-CPL-20070926.xsd"
462 File "%cdist_deps%/share/libdcp/xsd/PROTO-ASDCP-CPL-20040511.xsd"
463 File "%cdist_deps%/share/libdcp/xsd/PROTO-ASDCP-PKL-20040311.xsd"
464 File "%cdist_deps%/share/libdcp/xsd/SMPTE-335-2012.xsd"
465 File "%cdist_deps%/share/libdcp/xsd/SMPTE-395-2014-13-1-aaf.xsd"
466 File "%cdist_deps%/share/libdcp/xsd/SMPTE-429-10-2008.xsd"
467 File "%cdist_deps%/share/libdcp/xsd/SMPTE-429-12-2008.xsd"
468 File "%cdist_deps%/share/libdcp/xsd/SMPTE-429-16.xsd"
469 File "%cdist_deps%/share/libdcp/xsd/SMPTE-429-7-2006-CPL.xsd"
470 File "%cdist_deps%/share/libdcp/xsd/SMPTE-429-8-2006-PKL.xsd"
471 File "%cdist_deps%/share/libdcp/xsd/SMPTE-429-9-2007-AM.xsd"
472 File "%cdist_deps%/share/libdcp/xsd/xlink.xsd"
473 File "%cdist_deps%/share/libdcp/xsd/xmldsig-core-schema.xsd"
474 File "%cdist_deps%/share/libdcp/xsd/XMLSchema.dtd"
475 File "%cdist_deps%/share/libdcp/xsd/XMLSchema.xsd"
476 File "%cdist_deps%/share/libdcp/xsd/xml.xsd"
477 SetOutPath "$INSTDIR\\tags"
478 File "%cdist_deps%/share/libdcp/tags/extlang"
479 File "%cdist_deps%/share/libdcp/tags/language"
480 File "%cdist_deps%/share/libdcp/tags/region"
481 File "%cdist_deps%/share/libdcp/tags/script"
482 File "%cdist_deps%/share/libdcp/tags/variant"
483 File "%cdist_deps%/share/libdcp/tags/dcnc"
484 SetOutPath "$INSTDIR"
485 File "%cdist_deps%/share/libdcp/ratings"
491 print('Section "DCP-o-matic 2 debug" SEC_MASTER', file=f)
493 print('Section "DCP-o-matic 2" SEC_MASTER', file=f)
495 print('SetOutPath "$INSTDIR\\bin"', file=f)
498 print('CreateDirectory "$SMPROGRAMS\\DCP-o-matic 2 debug"', file=f)
500 print('CreateDirectory "$SMPROGRAMS\\DCP-o-matic 2"', file=f)
502 print('File "%binaries%/src/tools/dcpomatic2.exe"', file=f)
504 print('File "%%binaries%%/src/tools/dcpomatic2_%s.exe"' % s, file=f)
508 File "%binaries%/src/tools/dcpomatic2_disk_writer.exe"
509 File "%resources%/dcpomatic2_disk_writer.exe.manifest"
513 print('CreateShortCut "$SMPROGRAMS\\DCP-o-matic 2 debug\\DCP-o-matic 2 debug.lnk" "$INSTDIR\\bin\\dcpomatic2_debug.bat"', file=f)
515 print('CreateShortCut "$SMPROGRAMS\\DCP-o-matic 2 debug\\DCP-o-matic 2 %s debug.lnk" "$INSTDIR\\bin\\dcpomatic2_%s_debug.bat" ""' % (l, s), file=f)
516 print('CreateShortCut "$SMPROGRAMS\\DCP-o-matic 2 debug\\Uninstall DCP-o-matic 2 debug.lnk" "$INSTDIR\\Uninstall.exe"', file=f)
517 print('WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic 2 debug" "DisplayName" "DCP-o-matic 2 debug (remove only)"', file=f)
518 print('WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic 2 debug" "UninstallString" "$INSTDIR\\Uninstall.exe"', file=f)
520 print('CreateShortCut "$SMPROGRAMS\\DCP-o-matic 2\\DCP-o-matic 2.lnk" "$INSTDIR\\bin\\dcpomatic2.exe"', file=f)
522 print('CreateShortCut "$SMPROGRAMS\\DCP-o-matic 2\\DCP-o-matic 2 %s.lnk" "$INSTDIR\\bin\\dcpomatic2_%s.exe"' % (l, s), file=f)
523 print('CreateShortCut "$SMPROGRAMS\\DCP-o-matic 2\\Uninstall DCP-o-matic 2.lnk" "$INSTDIR\\Uninstall.exe"', file=f)
524 print('WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic2" "DisplayName" "DCP-o-matic 2 (remove only)"', file=f)
525 print('WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic2" "UninstallString" "$INSTDIR\\Uninstall.exe"', file=f)
527 print("SectionEnd", file=f)
530 print('Section "DCP-o-matic 2 debug desktop shortcuts" SEC_MASTER_DESKTOP', file=f)
531 print('CreateShortCut "$DESKTOP\\DCP-o-matic 2 debug.lnk" "$INSTDIR\\bin\\dcpomatic2_debug.bat" ""', file=f)
533 print('CreateShortCut "$DESKTOP\\DCP-o-matic 2 %s debug.lnk" "$INSTDIR\\bin\\dcpomatic2_%s_debug.bat" ""' % (l, s), file=f)
535 print('Section "DCP-o-matic 2 desktop shortcuts" SEC_MASTER_DESKTOP', file=f)
536 print('CreateShortCut "$DESKTOP\\DCP-o-matic 2.lnk" "$INSTDIR\\bin\\dcpomatic2.exe" ""', file=f)
538 print('CreateShortCut "$DESKTOP\\DCP-o-matic 2 %s.lnk" "$INSTDIR\\bin\\dcpomatic2_%s.exe"' % (l, s), file=f)
540 print("SectionEnd", file=f)
543 Section "Encode server" SEC_SERVER
544 SetOutPath "$INSTDIR\\bin"
545 CreateDirectory "$SMPROGRAMS\\DCP-o-matic 2"
546 File "%binaries%/src/tools/dcpomatic2_server_cli.exe"
547 File "%binaries%/src/tools/dcpomatic2_server.exe"
548 CreateShortCut "$SMPROGRAMS\\DCP-o-matic 2\\DCP-o-matic 2 Encode Server.lnk" "$INSTDIR\\bin\\dcpomatic2_server.exe" "" "$INSTDIR\\bin\\dcpomatic2_server.exe" 0
549 CreateShortCut "$SMPROGRAMS\\DCP-o-matic 2\\Uninstall DCP-o-matic 2.lnk" "$INSTDIR\\Uninstall.exe" "" "$INSTDIR\\Uninstall.exe" 0
551 Section "Encode server desktop shortcuts" SEC_SERVER_DESKTOP
552 CreateShortCut "$DESKTOP\\DCP-o-matic 2 Encode Server.lnk" "$INSTDIR\\bin\\dcpomatic2_server.exe" ""
557 print('LangString DESC_SEC_MASTER ${LANG_ENGLISH} "DCP-o-matic 2 debug"', file=f)
558 print('LangString DESC_SEC_MASTER_DESKTOP ${LANG_ENGLISH} "DCP-o-matic 2 debug desktop shortcuts"', file=f)
560 print('LangString DESC_SEC_MASTER ${LANG_ENGLISH} "DCP-o-matic 2"', file=f)
561 print('LangString DESC_SEC_MASTER_DESKTOP ${LANG_ENGLISH} "DCP-o-matic 2 desktop shortcuts"', file=f)
562 print('LangString DESC_SEC_SERVER ${LANG_ENGLISH} "DCP-o-matic 2 Encode Server"', file=f)
563 print('LangString DESC_SEC_SERVER_DESKTOP ${LANG_ENGLISH} "DCP-o-matic 2 Encode Server desktop shortcuts"', file=f)
566 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
567 !insertmacro MUI_DESCRIPTION_TEXT ${SEC_MASTER} $(DESC_SEC_MASTER)
568 !insertmacro MUI_DESCRIPTION_TEXT ${SEC_MASTER_DESKTOP} $(DESC_SEC_MASTER_DESKTOP)
569 !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SERVER} $(DESC_SEC_SERVER)
570 !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SERVER_DESKTOP} $(DESC_SEC_SERVER_DESKTOP)
571 !insertmacro MUI_FUNCTION_DESCRIPTION_END
573 !insertmacro MUI_PAGE_INSTFILES
574 !insertmacro MUI_PAGE_FINISH
576 !insertmacro MUI_UNPAGE_WELCOME
577 !insertmacro MUI_UNPAGE_CONFIRM
578 !insertmacro MUI_UNPAGE_INSTFILES
579 !insertmacro MUI_UNPAGE_FINISH
580 !insertmacro MUI_LANGUAGE "English"
586 RMDir /r "$INSTDIR\\*.*"
588 Delete "$DESKTOP\\DCP-o-matic 2 debug.lnk"
592 print('Delete "$DESKTOP\\DCP-o-matic 2 %s debug.lnk"' % l, file=f)
595 Delete "$SMPROGRAMS\\DCP-o-matic 2 debug\\*.*"
596 RmDir "$SMPROGRAMS\\DCP-o-matic 2 debug"
597 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\\DCP-o-matic 2 debug"
598 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic 2 debug"
604 RMDir /r "$INSTDIR\\*.*"
606 Delete "$DESKTOP\\DCP-o-matic 2.lnk"
610 print('Delete "$DESKTOP\\DCP-o-matic 2 %s.lnk"' % l)
613 Delete "$SMPROGRAMS\\DCP-o-matic 2\\*.*"
614 RmDir "$SMPROGRAMS\\DCP-o-matic 2"
615 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\\DCP-o-matic 2"
616 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic 2"
622 write_installer(32, bld.env.VERSION, bld.env.DEBUG, bld.env.ENABLE_DISK)
623 write_installer(64, bld.env.VERSION, bld.env.DEBUG, bld.env.ENABLE_DISK)