From 53bcbf1e994afb5d4dbd74a08aa8841a45546669 Mon Sep 17 00:00:00 2001 From: lordmulder Date: Tue, 25 Jan 2011 00:11:28 +0100 Subject: [PATCH] Updated install script. Also updated web-update tool. --- etc/Deployment/_deploy.bat | 2 + etc/NSIS/setup.nsi | 110 ++++++++++++++++++++++++---------- res/tools/wupdate.exe | Bin 347246 -> 347283 bytes src/Config.h | 2 +- src/Dialog_Update.cpp | 3 +- src/Thread_Initialization.cpp | 2 +- 6 files changed, 84 insertions(+), 35 deletions(-) diff --git a/etc/Deployment/_deploy.bat b/etc/Deployment/_deploy.bat index d35a8147..a2070b1f 100644 --- a/etc/Deployment/_deploy.bat +++ b/etc/Deployment/_deploy.bat @@ -104,7 +104,9 @@ REM ------------------------------------------ if "%LAMEXP_REDIST%"=="1" ( copy "..\Redist\*.*" "%TMP_PATH%" ) +copy "..\..\ReadMe.txt" "%TMP_PATH%" copy "..\..\License.txt" "%TMP_PATH%" +copy "..\..\doc\Translate.html" "%TMP_PATH%" REM ------------------------------------------ REM :: CREATE PACKAGES :: REM ------------------------------------------ diff --git a/etc/NSIS/setup.nsi b/etc/NSIS/setup.nsi index f8a251ea..3cc63593 100644 --- a/etc/NSIS/setup.nsi +++ b/etc/NSIS/setup.nsi @@ -313,40 +313,84 @@ FunctionEnd ;-------------------------------- -;Macros +;Macros & Auxiliary Functions ;-------------------------------- !macro PrintProgress Text - SetDetailsPrint textonly - DetailPrint '${Text}' - SetDetailsPrint listonly - Sleep 1000 + SetDetailsPrint textonly + DetailPrint '${Text}' + SetDetailsPrint listonly + Sleep 1000 !macroend !macro CreateWebLink ShortcutFile TargetURL - Push $0 - Push $1 - StrCpy $0 "${ShortcutFile}" - StrCpy $1 "${TargetURL}" - Call _CreateWebLink - Pop $1 - Pop $0 + Push $0 + Push $1 + StrCpy $0 "${ShortcutFile}" + StrCpy $1 "${TargetURL}" + Call _CreateWebLink + Pop $1 + Pop $0 !macroend Function _CreateWebLink - FlushINI "$0" - SetFileAttributes "$0" FILE_ATTRIBUTE_NORMAL - DeleteINISec "$0" "DEFAULT" - DeleteINISec "$0" "InternetShortcut" - WriteINIStr "$0" "DEFAULT" "BASEURL" "$1" - WriteINIStr "$0" "InternetShortcut" "ORIGURL" "$1" - WriteINIStr "$0" "InternetShortcut" "URL" "$1" - WriteINIStr "$0" "InternetShortcut" "IconFile" "$SYSDIR\SHELL32.dll" - WriteINIStr "$0" "InternetShortcut" "IconIndex" "150" - FlushINI "$0" - SetFileAttributes "$0" FILE_ATTRIBUTE_READONLY + FlushINI "$0" + SetFileAttributes "$0" FILE_ATTRIBUTE_NORMAL + DeleteINISec "$0" "DEFAULT" + DeleteINISec "$0" "InternetShortcut" + WriteINIStr "$0" "DEFAULT" "BASEURL" "$1" + WriteINIStr "$0" "InternetShortcut" "ORIGURL" "$1" + WriteINIStr "$0" "InternetShortcut" "URL" "$1" + WriteINIStr "$0" "InternetShortcut" "IconFile" "$SYSDIR\SHELL32.dll" + WriteINIStr "$0" "InternetShortcut" "IconIndex" "150" + FlushINI "$0" + SetFileAttributes "$0" FILE_ATTRIBUTE_READONLY FunctionEnd +!macro TrimStr VarName + Push ${VarName} + Call _TrimStr + Pop ${VarName} +!macroend + +Function _TrimStr + Exch $R1 + Push $R2 + + TrimLoop1: + StrCpy $R2 "$R1" 1 + StrCmp "$R2" " " TrimLeft + StrCmp "$R2" "$\r" TrimLeft + StrCmp "$R2" "$\n" TrimLeft + StrCmp "$R2" "$\t" TrimLeft + Goto TrimLoop2 + TrimLeft: + StrCpy $R1 "$R1" "" 1 + Goto TrimLoop1 + + TrimLoop2: + StrCpy $R2 "$R1" 1 -1 + StrCmp "$R2" " " TrimRight + StrCmp "$R2" "$\r" TrimRight + StrCmp "$R2" "$\n" TrimRight + StrCmp "$R2" "$\t" TrimRight + Goto TrimDone + TrimRight: + StrCpy $R1 "$R1" -1 + Goto TrimLoop2 + + TrimDone: + Pop $R2 + Exch $R1 +FunctionEnd + +!macro GetExecutableName OutVar + !insertmacro GetCommandlineParameter "Update" "LameXP.exe" ${OutVar} + !insertmacro TrimStr ${OutVar} + StrCmp ${OutVar} "" 0 +2 + StrCpy ${OutVar} "LameXP.exe" +!macroend + ;-------------------------------- ;Install Files @@ -358,7 +402,10 @@ SectionEnd Section "!Install Files" !insertmacro PrintProgress "$(LAMEXP_LANG_STATUS_INSTFILES)" - File /r `${LAMEXP_SOURCE_PATH}\*.*` + !insertmacro GetExecutableName $R0 + File `/oname=$R0` `${LAMEXP_SOURCE_PATH}\LameXP.exe` + File `${LAMEXP_SOURCE_PATH}\*.txt` + File `${LAMEXP_SOURCE_PATH}\*.html` SectionEnd Section "-Write Uinstaller" @@ -392,7 +439,7 @@ Section "-Update Registry" WriteRegStr HKLM "${MyRegPath}" "DisplayName" "LameXP" SectionEnd -Section +Section "-Finished" !insertmacro PrintProgress "$(MUI_TEXT_FINISH_TITLE)." SectionEnd @@ -436,18 +483,15 @@ SectionEnd ;-------------------------------- Function CheckForUpdate - !insertmacro GetCommandlineParameter "Update" "error" $R0 - StrCmp $R0 "error" 0 EnableUpdateMode + !insertmacro GetCommandlineParameter "Update" "?" $R0 + StrCmp $R0 "?" 0 EnableUpdateMode StrCmp "$INSTDIR" "" 0 +2 Return - IfFileExists "$INSTDIR\*.*" +2 Return - StrCmp "$EXEDIR" "$INSTDIR" 0 +2 Return - IfFileExists "$INSTDIR\LameXP.exe" +2 Return @@ -470,7 +514,8 @@ FunctionEnd Function LockedListShow !insertmacro MUI_HEADER_TEXT "$(LAMEXP_LANG_LOCKEDLIST_HEADER)" "$(LAMEXP_LANG_LOCKEDLIST_TEXT)" ${If} ${AtLeastWinXP} - LockedList::AddModule "\LameXP.exe" + !insertmacro GetExecutableName $R0 + LockedList::AddModule "\$R0" LockedList::AddModule "\Uninstall.exe" LockedList::AddModule "\Au_.exe" ${EndIf} @@ -494,8 +539,9 @@ FunctionEnd ;-------------------------------- Function RunAppFunction + !insertmacro GetExecutableName $R0 !insertmacro UAC_AsUser_ExecShell "explore" "$INSTDIR" "" "" SW_SHOWNORMAL - !insertmacro UAC_AsUser_ExecShell "open" "$INSTDIR\LameXP.exe" "" "$INSTDIR" SW_SHOWNORMAL + !insertmacro UAC_AsUser_ExecShell "open" "$INSTDIR\$R0" "" "$INSTDIR" SW_SHOWNORMAL FunctionEnd Function ShowReadmeFunction diff --git a/res/tools/wupdate.exe b/res/tools/wupdate.exe index d5622523da78908ba23fd5f6ca48954a512cbf70..00c296b23801227da0568b3d5d955505173d7a36 100644 GIT binary patch delta 2331 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 Q$pg10$pmSG1kx-YhV@QxN&o-= diff --git a/src/Config.h b/src/Config.h index c9f1a200..75bf2cb9 100644 --- a/src/Config.h +++ b/src/Config.h @@ -25,7 +25,7 @@ #define VER_LAMEXP_MAJOR 4 #define VER_LAMEXP_MINOR_HI 0 #define VER_LAMEXP_MINOR_LO 0 -#define VER_LAMEXP_BUILD 253 +#define VER_LAMEXP_BUILD 258 #define VER_LAMEXP_SUFFIX Beta-1 /* diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp index a768cf04..85765ff4 100644 --- a/src/Dialog_Update.cpp +++ b/src/Dialog_Update.cpp @@ -539,7 +539,8 @@ void UpdateDialog::applyUpdate(void) args << QString("/Location=%1").arg(m_updateInfo->m_downloadAddress); args << QString("/Filename=%1").arg(m_updateInfo->m_downloadFilename); args << QString("/TicketID=%1").arg(m_updateInfo->m_downloadFilecode); - args << QString("/ToFolder=%1").arg(QDir::toNativeSeparators(QApplication::applicationDirPath())); + args << QString("/ToFolder=%1").arg(QDir::toNativeSeparators(QDir(QApplication::applicationDirPath()).canonicalPath())); + args << QString("/ToExFile=%1.exe").arg(QFileInfo(QFileInfo(QApplication::applicationFilePath()).canonicalFilePath()).completeBaseName()); args << QString("/AppTitle=LameXP (Build #%1)").arg(QString::number(m_updateInfo->m_buildNo)); QApplication::setOverrideCursor(Qt::WaitCursor); diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp index 100cff68..bab15b12 100644 --- a/src/Thread_Initialization.cpp +++ b/src/Thread_Initialization.cpp @@ -71,7 +71,7 @@ g_lamexp_tools[] = {"8c842eef65248b46fa6cb9a9e5714f575672d999", "valdec.exe", 31}, {"8159f4e824b3e343ece95ba6dbb5e16da9c4866e", "volumax.exe", UINT_MAX}, {"62e2805d1b2eb2a4d86a5ca6e6ea58010d05d2a7", "wget.exe", UINT_MAX}, - {"7380cb661ae7fbda82f3e8ecea6a2776101c9444", "wupdate.exe", UINT_MAX}, + {"f8293dcf0d21dcca2798afaa8e0d1b93b8ced720", "wupdate.exe", UINT_MAX}, {"b7d14b3540d24df13119a55d97623a61412de6e3", "wvunpack.exe", 4601}, {NULL, NULL, NULL} };