4
4
5
5
; HM NIS Edit Wizard helper defines
6
6
!define PRODUCT_NAME " Movies On The Run (MOTR)"
7
- !define PRODUCT_VERSION " 1.46betaGit "
7
+ !define PRODUCT_VERSION " 1.9beta "
8
8
!define PRODUCT_PUBLISHER " Lars Werner"
9
9
!define PRODUCT_WEB_SITE " http://lars.werner.no/motrd/"
10
10
!define PRODUCT_DIR_REGKEY " Software\MOTR\InstallerPath"
@@ -89,6 +89,9 @@ Function .onInit
89
89
Quit
90
90
${EndIf}
91
91
92
+ ; Check which dot.net we have installed
93
+ call CheckAndInstallDotNet
94
+
92
95
!insertmacro MUI_LANGDLL_DISPLAY
93
96
!insertmacro INSTALLOPTIONS_EXTRACT " serviceinstaller.ini"
94
97
!insertmacro INSTALLOPTIONS_EXTRACT " initialinstallation.ini"
@@ -149,6 +152,7 @@ Section -Post
149
152
pop $1
150
153
DetailPrint $1
151
154
DetailPrint " Creating SSL certificate"
155
+
152
156
; Create certificate in the directory installed
153
157
nsExec::ExecToStack ' "$INSTDIR\MOTRd.exe" -CERT'
154
158
pop $0
@@ -171,13 +175,13 @@ Section -Post
171
175
; Creates a URL
172
176
WriteIniStr " $INSTDIR\Links\${PRODUCT_NAME}.url" " InternetShortcut" " URL" " ${PRODUCT_WEB_SITE}"
173
177
174
- CreateShortCut " ${PRODUCT_STARTMENU}\Movies On The Run (console mode).lnk " " $INSTDIR\MOTRd.exe " " " " $INSTDIR\MOTRd.exe " 0
175
-
176
- CreateShortCut " ${PRODUCT_STARTMENU}\Scripts .lnk" " ${PRODUCT_SCRIPTS} " " " " ${PRODUCT_SCRIPTS} " 0
177
-
178
- CreateShortCut " ${PRODUCT_STARTMENU}\Visit MOTR online .lnk" " $INSTDIR\Links\${PRODUCT_NAME}.url " " " " $INSTDIR\link.ico " 0
179
- CreateShortCut " ${PRODUCT_STARTMENU}\InstallerLicense .lnk" " $INSTDIR\InstallerLicense.txt " " " " $INSTDIR\InstallerLicense.txt " 0
180
- CreateShortCut " ${PRODUCT_STARTMENU}\Uninstall.lnk" " $INSTDIR\Uninstaller-MOTR.exe" " " " $INSTDIR\Uninstaller-MOTR.exe" 0
178
+ ; Create start menu items
179
+ CreateShortCut " ${PRODUCT_STARTMENU}\Domain certification.lnk " " ${PRODUCT_SCRIPTS}\domaincert.bat " " " " ${PRODUCT_SCRIPTS}\domaincert.bat " 0
180
+ CreateShortCut " ${PRODUCT_STARTMENU}\Movies On The Run (console mode) .lnk" " $INSTDIR\MOTRd.exe " " " " $INSTDIR\MOTRd.exe " 0
181
+ CreateShortCut " ${PRODUCT_STARTMENU}\InstallerLicense.lnk " " $INSTDIR\InstallerLicense.txt " " " " $INSTDIR\InstallerLicense.txt " 0
182
+ CreateShortCut " ${PRODUCT_STARTMENU}\Scripts .lnk" " ${PRODUCT_SCRIPTS} " " " " ${PRODUCT_SCRIPTS} " 0
183
+ CreateShortCut " ${PRODUCT_STARTMENU}\Visit MOTR online .lnk" " $INSTDIR\Links\${PRODUCT_NAME}.url " " " " $INSTDIR\link.ico " 0
184
+ CreateShortCut " ${PRODUCT_STARTMENU}\Uninstall.lnk" " $INSTDIR\Uninstaller-MOTR.exe" " " " $INSTDIR\Uninstaller-MOTR.exe" 0
181
185
SectionEnd
182
186
183
187
@@ -275,6 +279,7 @@ Function ServiceInstallerPost
275
279
; Create the bat-scripts needed
276
280
call CreateServiceInstallerBat
277
281
call CreateServiceUnInstallerBat
282
+ call CreateCertDomainBat
278
283
279
284
; Check if the port selected is available
280
285
${If} ${TCPPortOpen} $R1
@@ -439,4 +444,68 @@ Function CreateServiceUnInstallerBat
439
444
FileClose $0
440
445
FunctionEnd
441
446
447
+
448
+ Function CreateCertDomainBat
449
+ FileOpen $0 " ${PRODUCT_SCRIPTS}\domaincert.bat" " w"
450
+ FileWrite $0 " @ECHO OFF$\r$\n "
451
+ FileWrite $0 " REM Check if command prompt is elevated$\r$\n "
452
+ FileWrite $0 " net session >nul 2>&1$\r$\n "
453
+ FileWrite $0 " if %errorLevel% == 0 ($\r$\n "
454
+ FileWrite $0 " goto STARTING$\r$\n "
455
+ FileWrite $0 " ) else ($\r$\n "
456
+ FileWrite $0 " ECHO Warning: This script needs to be runned as administrator.$\r$\n "
457
+ FileWrite $0 " pause$\r$\n "
458
+ FileWrite $0 " goto THEEND$\r$\n "
459
+ FileWrite $0 " )$\r$\n "
460
+ FileWrite $0 " :STARTING$\r$\n "
461
+ FileWrite $0 " cd $\" ${PRODUCT_INSTALLDIRECTORY}$\"$\r$\n "
462
+ FileWrite $0 " ECHO Please enter top-level domainname.$\r$\n "
463
+ FileWrite $0 " ECHO Example: site.com$\r$\n "
464
+ FileWrite $0 " ECHO (Do not enter sub domains like motr.site.com)$\r$\n "
465
+ FileWrite $0 " ping 127.0.0.1 -n 5 -w 2000 >nul$\r$\n "
466
+ FileWrite $0 " ECHO. $\r$\n "
467
+ FileWrite $0 " ECHO Please stop MOTRd before you proceed to gain access to keyfile$\r$\n "
468
+ FileWrite $0 " ping 127.0.0.1 -n 5 -w 2000 >nul$\r$\n "
469
+ FileWrite $0 " ECHO. $\r$\n "
470
+ FileWrite $0 " ECHO Enter domain and press ENTER to continue or CTRL+C to abort$\r$\n "
471
+ FileWrite $0 " ECHO. $\r$\n "
472
+ FileWrite $0 " set /p id=$\" Domain: $\"$\r$\n "
473
+ FileWrite $0 " MOTRd.exe -CERT %id%$\r$\n "
474
+ FileWrite $0 " ECHO. $\r$\n "
475
+ FileWrite $0 " ECHO Please restart MOTRd if the cert-file creation was OK$\r$\n "
476
+ FileWrite $0 " pause$\r$\n "
477
+ FileWrite $0 " :THEEND$\r$\n "
478
+ FileWrite $0 " exit$\r$\n "
479
+ FileClose $0
480
+ FunctionEnd
481
+
482
+
483
+ Function CheckAndInstallDotNet
484
+ ; Magic numbers from http://msdn.microsoft.com/en-us/library/ee942965.aspx
485
+ ClearErrors
486
+ ReadRegDWORD $0 HKLM " SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" " Release"
487
+
488
+ IfErrors NotDetected
489
+
490
+ ; 4.7.2 on all Windows version that support it
491
+ ${If} $0 >= 461814
492
+
493
+ DetailPrint " Microsoft .NET Framework 4.7.2 is installed ($0)"
494
+ ${Else}
495
+ NotDetected:
496
+ DetailPrint " Installing Microsoft .NET Framework 4.7.2"
497
+ SetDetailsPrint listonly
498
+ ExecWait ' "$INSTDIR\Tools\dotNetFx45_Full_setup.exe" /passive /norestart' $0
499
+ ${If} $0 == 3010
500
+ ${OrIf} $0 == 1641
501
+ DetailPrint " Microsoft .NET Framework 4.7.2 installer requested reboot"
502
+ SetRebootFlag true
503
+ ${EndIf}
504
+ SetDetailsPrint lastused
505
+ DetailPrint " Microsoft .NET Framework 4.7.2 installer returned $0"
506
+ ${EndIf}
507
+
508
+ FunctionEnd
509
+
510
+
442
511
; -------------- END BAT SCRIPTS
0 commit comments