Mercurial > mxe-octave
comparison tools/makeinst-script.sh.in @ 5958:ea224bb389e3
NSIS installer: Use launcher executables.
* tools/makeinst-script.sh.in: Use launcher executables instead of .vbs scripts
for links and file associations.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sat, 20 Nov 2021 16:44:42 +0100 |
parents | 37a432f5f0eb |
children | 8fe292548edf |
comparison
equal
deleted
inserted
replaced
5957:9cd5425b033b | 5958:ea224bb389e3 |
---|---|
71 !define OCTAVE_VERSION "$OCTAVE_VERSION" | 71 !define OCTAVE_VERSION "$OCTAVE_VERSION" |
72 !define COPYRIGHT "Copyright © 2013-2020 John W. Eaton and others." | 72 !define COPYRIGHT "Copyright © 2013-2020 John W. Eaton and others." |
73 !define DESCRIPTION "GNU Octave Installer" | 73 !define DESCRIPTION "GNU Octave Installer" |
74 !define INSTALLER_FILES "$TOPDIR/installer-files" | 74 !define INSTALLER_FILES "$TOPDIR/installer-files" |
75 !define INSTALLER_NAME "$INSTALLER_NAME" | 75 !define INSTALLER_NAME "$INSTALLER_NAME" |
76 !define MAIN_APP_EXE "octave-firsttime.vbs" | 76 !define MAIN_APP_EXE "octave-launch-firsttime.exe" |
77 !define PRODUCT_ROOT_KEY "SHCTX" | 77 !define PRODUCT_ROOT_KEY "SHCTX" |
78 !define PRODUCT_KEY "Software\\Octave-$VERSION" | 78 !define PRODUCT_KEY "Software\\Octave-$VERSION" |
79 !define PRODUCT_UNINST_KEY "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" | 79 !define PRODUCT_UNINST_KEY "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" |
80 !define PRODUCT_UNINST_ROOT_KEY "SHCTX" | 80 !define PRODUCT_UNINST_ROOT_KEY "SHCTX" |
81 | 81 |
435 | 435 |
436 ; include the README | 436 ; include the README |
437 SetOutPath "\$INSTDIR" | 437 SetOutPath "\$INSTDIR" |
438 File "$OCTAVE_SOURCE/README.html" | 438 File "$OCTAVE_SOURCE/README.html" |
439 | 439 |
440 ; include octave.vbs and other scripts | 440 ; include octave-launch, octave.vbs and other scripts |
441 SetOutPath "\$INSTDIR" | 441 SetOutPath "\$INSTDIR" |
442 File "$OCTAVE_SOURCE/octave.vbs" | 442 File "$OCTAVE_SOURCE/octave.vbs" |
443 File "$OCTAVE_SOURCE/octave-firsttime.vbs" | 443 File "$OCTAVE_SOURCE/octave-firsttime.vbs" |
444 File "$OCTAVE_SOURCE/octave-launch.exe" | |
445 File "$OCTAVE_SOURCE/octave-launch-firsttime.exe" | |
444 File "$OCTAVE_SOURCE/fc_update.bat" | 446 File "$OCTAVE_SOURCE/fc_update.bat" |
445 File "$OCTAVE_SOURCE/post-install.bat" | 447 File "$OCTAVE_SOURCE/post-install.bat" |
446 | 448 |
447 File "$OCTAVE_SOURCE/HG-ID" | 449 File "$OCTAVE_SOURCE/HG-ID" |
448 | 450 |
505 | 507 |
506 # will append (Local) to menus in local mode | 508 # will append (Local) to menus in local mode |
507 CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local" | 509 CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local" |
508 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Uninstall.lnk" "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0 | 510 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Uninstall.lnk" "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0 |
509 SetOutPath "%USERPROFILE%" | 511 SetOutPath "%USERPROFILE%" |
510 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (CLI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$INSTDIR\\octave.vbs\$\\" --no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED | 512 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (CLI).lnk" "\$INSTDIR\\octave-launch.exe" "--no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED |
511 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$INSTDIR\\octave.vbs\$\\" --gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED | 513 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "\$INSTDIR\\octave-launch.exe" "--gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED |
512 SetOutPath "\$INSTDIR" | 514 SetOutPath "\$INSTDIR" |
513 | 515 |
514 ; fix the shortcuts for appid | 516 ; fix the shortcuts for appid |
515 ; run in hidden console window | 517 ; run in hidden console window |
516 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "gnu.octave.$VERSION"' | 518 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "gnu.octave.$VERSION"' |
578 StrCpy \$R0 "\$INSTDIR" | 580 StrCpy \$R0 "\$INSTDIR" |
579 StrCpy \$R2 "\$INSTDIR\\$ICON" | 581 StrCpy \$R2 "\$INSTDIR\\$ICON" |
580 | 582 |
581 have_ver_str: | 583 have_ver_str: |
582 SetOutPath "%USERPROFILE%" | 584 SetOutPath "%USERPROFILE%" |
583 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --no-gui" "\$R2" 0 SW_SHOWMINIMIZED | 585 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "\$R0\\octave-launch.exe" "--no-gui" "\$R2" 0 SW_SHOWMINIMIZED |
584 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --gui" "\$R2" 0 SW_SHOWMINIMIZED | 586 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "\$R0\\octave-launch.exe" "--gui" "\$R2" 0 SW_SHOWMINIMIZED |
585 | 587 |
586 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"' | 588 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"' |
587 Pop \$0 | 589 Pop \$0 |
588 | 590 |
589 Pop \$R2 | 591 Pop \$R2 |
604 | 606 |
605 Section "FileTypeRego" | 607 Section "FileTypeRego" |
606 | 608 |
607 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION" "FriendlyAppName" "GNU Octave $VERSION" | 609 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION" "FriendlyAppName" "GNU Octave $VERSION" |
608 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\DefaultIcon" "" "\$INSTDIR\\$ICON" | 610 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\DefaultIcon" "" "\$INSTDIR\\$ICON" |
609 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\shell\\open\\command" "" "wscript \$\\"\$INSTDIR\\octave.vbs\$\\" --gui --persist --eval \$\\"edit '%1'\$\\"" | 611 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\shell\\open\\command" "" "\$\\"\$INSTDIR\\octave-launch.exe\$\\" --gui --persist --eval \$\\"edit '%1'\$\\"" |
610 | 612 |
611 \${If} \$RegisterOctaveFileType == \${BST_CHECKED} | 613 \${If} \$RegisterOctaveFileType == \${BST_CHECKED} |
612 | 614 |
613 ReadRegStr \$0 SHCTX "Software\\Classes\\.m" "" | 615 ReadRegStr \$0 SHCTX "Software\\Classes\\.m" "" |
614 StrCmp "\$0" "" ctx_no_back_type | 616 StrCmp "\$0" "" ctx_no_back_type |
686 | 688 |
687 ReadRegStr \$R2 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon" | 689 ReadRegStr \$R2 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon" |
688 | 690 |
689 IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" 0 check_gui_shortcut | 691 IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" 0 check_gui_shortcut |
690 SetOutPath "%USERPROFILE%" | 692 SetOutPath "%USERPROFILE%" |
691 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "%SYSTEMROOT%\system32\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --no-gui" "\$R2" 0 SW_SHOWMINIMIZED | 693 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "\$R0\\octave-launch.exe" "--no-gui" "\$R2" 0 SW_SHOWMINIMIZED |
692 | 694 |
693 check_gui_shortcut: | 695 check_gui_shortcut: |
694 IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" 0 done_remove_desktop_shortcuts | 696 IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" 0 done_remove_desktop_shortcuts |
695 SetOutPath "%USERPROFILE%" | 697 SetOutPath "%USERPROFILE%" |
696 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "%SYSTEMROOT%\system32\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --gui" "\$R2" 0 SW_SHOWMINIMIZED | 698 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "\$R0\\octave-launch.exe" "--gui" "\$R2" 0 SW_SHOWMINIMIZED |
697 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"' | 699 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"' |
698 Pop \$0 | 700 Pop \$0 |
699 | 701 |
700 GoTo done_remove_desktop_shortcuts | 702 GoTo done_remove_desktop_shortcuts |
701 | 703 |