Some installer updates, especially for /UPDATE mode.

This commit is contained in:
LoRd_MuldeR 2015-06-24 23:44:43 +02:00
parent 0eb708e9b2
commit 8d93069321
4 changed files with 81 additions and 27 deletions

View File

@ -82,6 +82,7 @@
<h1 id="lamexp-v4.xx-history"><span class="header-section-number">1</span> LameXP v4.xx History</h1>
<h2 id="lamexp-v4.12-xxxx-xx-xx" class="unnumbered">LameXP v4.12 [xxxx-xx-xx]</h2>
<ul>
<li>Updated Qt runtime libraries to v4.8.7 Final (2015-05-25), compiled with MSVC 12.0<br /></li>
<li>Added Hungarian translation, contributed by Zityi's Translator Team <script type="text/javascript">
<!--
h='&#x67;&#x6d;&#x61;&#x69;&#108;&#46;&#x63;&#x6f;&#x6d;';a='&#64;';n='&#122;&#x69;&#116;&#x79;&#x69;&#x73;&#x6f;&#102;&#116;';e=n+a+h;

View File

@ -4,6 +4,7 @@
## LameXP v4.12 [xxxx-xx-xx] ## {-}
* Updated Qt runtime libraries to v4.8.7 Final (2015-05-25), compiled with MSVC 12.0
* Added Hungarian translation, contributed by Zityi's Translator Team <zityisoft@gmail.com>
* Added optional support for the *libfdk-aac* encoder, using the [fdkaac](https://github.com/nu774/fdkaac) front-end by nu774
* Added detection of the *64-Bit* version of QAAC encoder, requires 64-Bit Apple Application Support

View File

@ -118,6 +118,7 @@ SetCompressorDictSize 64
ReserveFile "${NSISDIR}\Plugins\Aero.dll"
ReserveFile "${NSISDIR}\Plugins\LangDLL.dll"
ReserveFile "${NSISDIR}\Plugins\LockedList.dll"
ReserveFile "${NSISDIR}\Plugins\LockedList64.dll"
ReserveFile "${NSISDIR}\Plugins\nsDialogs.dll"
ReserveFile "${NSISDIR}\Plugins\nsExec.dll"
ReserveFile "${NSISDIR}\Plugins\StartMenu.dll"
@ -188,31 +189,62 @@ VIAddVersionKey "Website" "${MyWebSite}"
;--------------------------------
;MUI2 Pages
;MUI2 Pages (Installer)
;--------------------------------
;Installer
;Welcome
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
!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
!insertmacro MUI_PAGE_LICENSE "license.rtf"
;Directory
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
!define MUI_PAGE_CUSTOMFUNCTION_SHOW CheckForUpdate
!insertmacro MUI_PAGE_DIRECTORY
;Startmenu
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
;LockedList
Page Custom LockedListShow
;Install Files
!insertmacro MUI_PAGE_INSTFILES
;Finish
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfUpdate
!insertmacro MUI_PAGE_FINISH
;Uninstaller
;--------------------------------
;MUI2 Pages (Uninstaller)
;--------------------------------
;Welcome
!define MUI_WELCOMEPAGE_TITLE_3LINES
!define MUI_FINISHPAGE_TITLE_3LINES
!define MUI_PAGE_CUSTOMFUNCTION_PRE un.CheckForcedUninstall
!insertmacro MUI_UNPAGE_WELCOME
;Confirm
!define MUI_PAGE_CUSTOMFUNCTION_PRE un.CheckForcedUninstall
!insertmacro MUI_UNPAGE_CONFIRM
;LockedList
UninstPage Custom un.LockedListShow
;Uninstall
!insertmacro MUI_UNPAGE_INSTFILES
;Finish
!define MUI_PAGE_CUSTOMFUNCTION_PRE un.CheckForcedUninstall
!insertmacro MUI_UNPAGE_FINISH
@ -326,8 +358,8 @@ Function .onInit
; --------
${StdUtils.GetParameter} $R0 "Update" "?"
${If} "$R0" == "?"
${StdUtils.GetParameter} $R0 "Update" "?#@"
${If} "$R0" == "?#@"
!insertmacro MUI_LANGDLL_DISPLAY
${EndIf}
@ -552,12 +584,15 @@ SectionEnd
Section "-Finished"
!insertmacro PrintProgress "$(MUI_TEXT_FINISH_TITLE)."
!ifdef LAMEXP_IS_PRERELEASE
${If} ${FileExists} "$INSTDIR\PRE_RELEASE_INFO.txt"
${StdUtils.ExecShellAsUser} $R1 "$INSTDIR\PRE_RELEASE_INFO.txt" "open" ""
${EndIf}
!endif
${StdUtils.GetParameter} $R0 "Update" "?#@"
${IfNotThen} "$R0" == "?#@" ${|} SetAutoClose true ${|}
SectionEnd
@ -655,15 +690,17 @@ SectionEnd
;Check For Update Mode
;--------------------------------
Function SkipIfUpdate
${StdUtils.GetParameter} $R0 "Update" "?#@"
${IfNotThen} "$R0" == "?#@" ${|} Abort ${|}
FunctionEnd
Function CheckForUpdate
${StdUtils.GetParameter} $R0 "Update" "?"
${IfNotThen} "$R0" == "?" ${|} Goto EnableUpdateMode ${|}
${IfThen} "$INSTDIR" == "" ${|} Return ${|}
${IfThen} "$INSTDIR" == "$EXEDIR" ${|} Return ${|}
${IfNotThen} ${FileExists} "$INSTDIR\LameXP.exe" ${|} Return ${|}
EnableUpdateMode:
${If} "$INSTDIR" == ""
${OrIf} "$INSTDIR" == "$EXEDIR"
${OrIfNot} ${FileExists} "$INSTDIR\LameXP.exe"
Return
${EndIf}
FindWindow $R0 "#32770" "" $HWNDPARENT
GetDlgItem $R1 $R0 1019
@ -675,8 +712,8 @@ Function CheckForUpdate
FunctionEnd
Function un.CheckForcedUninstall
${StdUtils.GetParameter} $R0 "Force" "?"
${IfNotThen} "$R0" == "?" ${|} Abort ${|}
${StdUtils.GetParameter} $R0 "Force" "?#@"
${IfNotThen} "$R0" == "?#@" ${|} Abort ${|}
FunctionEnd
@ -686,8 +723,8 @@ FunctionEnd
Function CheckForPreRelease
!ifdef LAMEXP_IS_PRERELEASE
${StdUtils.GetParameter} $R0 "Update" "?"
StrCmp $R0 "?" 0 SkipPrereleaseWarning
${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:
@ -699,22 +736,29 @@ FunctionEnd
;Locked List
;--------------------------------
Function LockedListShow
!macro _LockedListShow uinst
!insertmacro MUI_HEADER_TEXT "$(LAMEXP_LANG_LOCKEDLIST_HEADER)" "$(LAMEXP_LANG_LOCKEDLIST_TEXT)"
InitPluginsDir
${If} ${RunningX64}
File /oname=$PLUGINSDIR\LockedList64.dll `${NSISDIR}\Plugins\LockedList64.dll`
${EndIf}
!insertmacro GetExecutableName $R0
LockedList::AddFolder "$INSTDIR"
LockedList::AddModule "\$R0"
LockedList::AddModule "\Uninstall.exe"
LockedList::AddModule "\Au_.exe"
!if ${uinst} < 1
LockedList::AddModule "\Au_.exe"
!endif
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
Function LockedListShow
!insertmacro _LockedListShow 0
FunctionEnd
Function un.LockedListShow
!insertmacro MUI_HEADER_TEXT "$(LAMEXP_LANG_LOCKEDLIST_HEADER)" "$(LAMEXP_LANG_LOCKEDLIST_TEXT)"
LockedList::AddModule "\LameXP.exe"
LockedList::AddModule "\Uninstall.exe"
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
!insertmacro _LockedListShow 1
FunctionEnd
@ -733,3 +777,11 @@ Function ShowReadmeFunction
!insertmacro DisableNextButton $R0
${StdUtils.ExecShellAsUser} $R1 "$INSTDIR\Manual.html" "open" ""
FunctionEnd
Function .onInstSuccess
${StdUtils.GetParameter} $R0 "Update" "?#@"
${IfNot} "$R0" == "?#@"
!insertmacro GetExecutableName $R0
${StdUtils.ExecShellAsUser} $R1 "$INSTDIR\$R0" "open" "--first-run"
${EndIf}
FunctionEnd

View File

@ -34,8 +34,8 @@
#define VER_LAMEXP_MINOR_HI 1
#define VER_LAMEXP_MINOR_LO 2
#define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 7
#define VER_LAMEXP_BUILD 1759
#define VER_LAMEXP_PATCH 8
#define VER_LAMEXP_BUILD 1760
#define VER_LAMEXP_CONFG 1700
///////////////////////////////////////////////////////////////////////////////