OSDN Git Service

Some more installer tweaks.
authorLoRd_MuldeR <mulder2@gmx.de>
Thu, 25 Jun 2015 21:06:50 +0000 (23:06 +0200)
committerLoRd_MuldeR <mulder2@gmx.de>
Thu, 25 Jun 2015 21:06:50 +0000 (23:06 +0200)
etc/Deployment/_deploy.bat
etc/NSIS/setup.nsi
src/Config.h

index 9bbce07..e5737a3 100644 (file)
@@ -84,7 +84,7 @@ for /L %%n in (1, 1, 99) do (
 for %%i in (exe,sfx,zip,txt) do (
        del "%OUT_FILE%.%%i" 2> NUL
        if exist "%OUT_FILE%.%%i" (
-               "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to delete existing output file^^!\n"
+               "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to delete existing output file^!\n"
                pause && exit
        )
 )
@@ -173,7 +173,15 @@ pushd "%TMP_PATH%"
 popd
 
 "%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi"
+if %ERRORLEVEL% NEQ 0 (
+       "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to build installer^!\n"
+       pause && exit
+)
 "%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi"
+if %ERRORLEVEL% NEQ 0 (
+       "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to build installer^!\n"
+       pause && exit
+)
 
 attrib -R "%TMP_PATH%\*.txt"
 attrib -R "%TMP_PATH%\*.html"
@@ -182,7 +190,7 @@ rd /S /Q "%TMP_PATH%"
 
 for %%i in (zip,exe) do (
        if not exist "%OUT_FILE%.zip" (
-               "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to create release packages^^!\n"
+               "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to create release packages^!\n"
                pause && exit
        )
 )
index 4d65687..3f179cf 100644 (file)
@@ -193,23 +193,23 @@ VIAddVersionKey "Website" "${MyWebSite}"
 ;--------------------------------
 
 ;Welcome
-!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
+!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUnattended
 !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckForPreRelease
 !define MUI_WELCOMEPAGE_TITLE_3LINES
 !define MUI_FINISHPAGE_TITLE_3LINES
 !insertmacro MUI_PAGE_WELCOME
 
 ;License
-!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
+!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUnattended
 !insertmacro MUI_PAGE_LICENSE "license.rtf"
 
 ;Directory
-!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
+!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUnattended
 !define MUI_PAGE_CUSTOMFUNCTION_SHOW CheckForUpdate
 !insertmacro MUI_PAGE_DIRECTORY
 
 ;Startmenu
-!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
+!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUnattended
 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
 
 ;LockedList
@@ -219,7 +219,7 @@ Page Custom LockedListShow
 !insertmacro MUI_PAGE_INSTFILES
 
 ;Finish
-!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
+!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUnattended
 !insertmacro MUI_PAGE_FINISH
 
 
@@ -305,6 +305,32 @@ UninstPage Custom un.LockedListShow
 
 
 ;--------------------------------
+;LogicLib Support
+;--------------------------------
+
+!macro _UnattendedMode _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${StdUtils.GetParameter} $_LOGICLIB_TEMP "Update" "?#@!"
+  StrCmp "$_LOGICLIB_TEMP" "?#@!" `${_f}` `${_t}`
+!macroend
+!define UnattendedMode `"" UnattendedMode ""`
+
+!macro _ForcedMode _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${StdUtils.GetParameter} $_LOGICLIB_TEMP "Force" "?#@!"
+  StrCmp "$_LOGICLIB_TEMP" "?#@!" `${_f}` `${_t}`
+!macroend
+!define ForcedMode `"" ForcedMode ""`
+
+!macro _ValidFileName _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${StdUtils.ValidFileName} $_LOGICLIB_TEMP `${_b}`
+  StrCmp "$_LOGICLIB_TEMP" "ok" `${_t}` `${_f}`
+!macroend
+!define ValidFileName `"" ValidFileName`
+
+
+;--------------------------------
 ;Installer initialization
 ;--------------------------------
 
@@ -358,8 +384,7 @@ Function .onInit
 
        ; --------
 
-       ${StdUtils.GetParameter} $R0 "Update" "?#@"
-       ${If} "$R0" == "?#@"
+       ${IfNot} ${UnattendedMode}
                !insertmacro MUI_LANGDLL_DISPLAY
        ${EndIf}
 
@@ -389,8 +414,7 @@ Function un.onInit
                Quit
        ${EndIf}
 
-       ${StdUtils.GetParameter} $R0 "Force" "?"
-       ${If} "$R0" == "?"
+       ${IfNot} ${ForcedMode}
                !insertmacro MUI_LANGDLL_DISPLAY
        ${EndIf}
        
@@ -461,7 +485,10 @@ FunctionEnd
 !macro GetExecutableName OutVar
        ${StdUtils.GetParameter} ${OutVar} "Update" ""
        ${StdUtils.TrimStr} ${OutVar}
-       ${IfThen} "${OutVar}" == "" ${|} StrCpy ${OutVar} "LameXP.exe" ${|}
+       ${If} "${OutVar}" == ""
+       ${OrIfNot} ${ValidFileName} "${OutVar}"
+               StrCpy ${OutVar} "LameXP.exe"
+       ${EndIf}
 !macroend
 
 !macro DisableNextButton TmpVar
@@ -469,6 +496,11 @@ FunctionEnd
        EnableWindow ${TmpVar} 0
 !macroend
 
+!macro DisableBackButton TmpVar
+       GetDlgItem ${TmpVar} $HWNDPARENT 3
+       EnableWindow ${TmpVar} 0
+!macroend
+
 
 ;--------------------------------
 ;Install Files
@@ -591,8 +623,7 @@ Section "-Finished"
        ${EndIf}
 !endif
 
-       ${StdUtils.GetParameter} $R0 "Update" "?#@"
-       ${IfNotThen} "$R0" == "?#@" ${|} SetAutoClose true ${|}
+       ${IfThen} ${UnattendedMode} ${|} SetAutoClose true ${|}
 SectionEnd
 
 
@@ -690,9 +721,8 @@ SectionEnd
 ;Check For Update Mode
 ;--------------------------------
 
-Function SkipIfUpdate
-       ${StdUtils.GetParameter} $R0 "Update" "?#@"
-       ${IfNotThen} "$R0" == "?#@" ${|} Abort ${|}
+Function SkipIfUnattended
+       ${IfThen} ${UnattendedMode} ${|} Abort ${|}
 FunctionEnd
 
 Function CheckForUpdate
@@ -712,8 +742,7 @@ Function CheckForUpdate
 FunctionEnd
 
 Function un.CheckForcedUninstall
-       ${StdUtils.GetParameter} $R0 "Force" "?#@"
-       ${IfNotThen} "$R0" == "?#@" ${|} Abort ${|}
+       ${IfThen} ${ForcedMode} ${|} Abort ${|}
 FunctionEnd
 
 
@@ -723,11 +752,10 @@ FunctionEnd
 
 Function CheckForPreRelease
        !ifdef LAMEXP_IS_PRERELEASE
-               ${StdUtils.GetParameter} $R0 "Update" "?#@"
-               StrCmp $R0 "?#@" 0 SkipPrereleaseWarning
-               MessageBox MB_TOPMOST|MB_ICONEXCLAMATION|MB_OKCANCEL "$(LAMEXP_LANG_PRERELEASE_WARNING)" /SD IDOK IDOK +2
-               Quit
-               SkipPrereleaseWarning:
+               ${IfNot} ${UnattendedMode}
+                       MessageBox MB_TOPMOST|MB_ICONEXCLAMATION|MB_OKCANCEL "$(LAMEXP_LANG_PRERELEASE_WARNING)" /SD IDOK IDOK +2
+                       Quit
+               ${EndIf}
        !endif
 FunctionEnd
 
@@ -738,17 +766,23 @@ FunctionEnd
 
 !macro _LockedListShow uinst
        !insertmacro MUI_HEADER_TEXT "$(LAMEXP_LANG_LOCKEDLIST_HEADER)" "$(LAMEXP_LANG_LOCKEDLIST_TEXT)"
-       InitPluginsDir
-        ${If} ${RunningX64}
+       ${If} ${UnattendedMode}
+               !insertmacro DisableBackButton $R0
+       ${EndIf}
+       ${If} ${RunningX64}
+               InitPluginsDir
                File /oname=$PLUGINSDIR\LockedList64.dll `${NSISDIR}\Plugins\LockedList64.dll`
        ${EndIf}
        !insertmacro GetExecutableName $R0
-       LockedList::AddFolder "$INSTDIR"
        LockedList::AddModule "\$R0"
+       ${If} "$R0" != "LameXP.exe"
+               LockedList::AddModule "\LameXP.exe"
+       ${EndIf}
        LockedList::AddModule "\Uninstall.exe"
        !if ${uinst} < 1
                LockedList::AddModule "\Au_.exe"
        !endif
+       LockedList::AddFolder "$INSTDIR"
        LockedList::Dialog /autonext /heading "$(LAMEXP_LANG_LOCKEDLIST_HEADING)" /noprograms "$(LAMEXP_LANG_LOCKEDLIST_NOPROG)" /searching  "$(LAMEXP_LANG_LOCKEDLIST_SEARCH)" /colheadings "$(LAMEXP_LANG_LOCKEDLIST_COLHDR1)" "$(LAMEXP_LANG_LOCKEDLIST_COLHDR2)"
        Pop $R0
 !macroend
@@ -779,8 +813,7 @@ Function ShowReadmeFunction
 FunctionEnd
 
 Function .onInstSuccess
-       ${StdUtils.GetParameter} $R0 "Update" "?#@"
-       ${IfNot} "$R0" == "?#@"
+       ${If} ${UnattendedMode}
                !insertmacro GetExecutableName $R0
                ${StdUtils.ExecShellAsUser} $R1 "$INSTDIR\$R0" "open" "--first-run"
        ${EndIf}
index df2e21b..b234be1 100644 (file)
@@ -35,7 +35,7 @@
 #define VER_LAMEXP_MINOR_LO                                    2
 #define VER_LAMEXP_TYPE                                                Alpha
 #define VER_LAMEXP_PATCH                                       8
-#define VER_LAMEXP_BUILD                                       1760
+#define VER_LAMEXP_BUILD                                       1762
 #define VER_LAMEXP_CONFG                                       1700
 
 ///////////////////////////////////////////////////////////////////////////////