MakeNSIS v2.46.1-Unicode - Copyright 1995-2009 Contributors
See the file COPYING for license details.
Credits can be found in the Users Manual.

Command line defined: "PACKAGE=C:\uqm"
Command line defined: "NamePortable=The Ur-Quan Masters Portable"
Command line defined: "AppID=UQMPortable"
Command line defined: "Version=2.1.1.0"
Changing directory to: "C:\deleteme\portableappslauncher\PortableApps.comLauncher\Other\Source"

Processing script file: "C:\deleteme\portableappslauncher\PortableApps.comLauncher\Other\Source\PortableApps.comLauncher.nsi"
Processing plugin dlls: "C:\deleteme\portableappslauncher\NSISPortable\App\NSIS\Plugins\*.dll"
 - AdvSplash::show
 - Banner::destroy
 - Banner::getWindow
 - Banner::show
 - BgImage::AddImage
 - BgImage::AddText
 - BgImage::Clear
 - BgImage::Destroy
 - BgImage::Redraw
 - BgImage::SetBg
 - BgImage::SetReturn
 - BgImage::Sound
 - Dialer::AttemptConnect
 - Dialer::AutodialHangup
 - Dialer::AutodialOnline
 - Dialer::AutodialUnattended
 - Dialer::GetConnectedState
 - EmbeddedLists::Dialog
 - EmbeddedLists::InitDialog
 - EmbeddedLists::Show
 - EnumINI::KeyExist
 - EnumINI::Section
 - EnumINI::SectionExist
 - EnumINI::SectionNames
 - FindProcDLL::FindProc
 - InstallOptions::dialog
 - InstallOptions::initDialog
 - InstallOptions::show
 - KillProcDLL::KillProc
 - LangDLL::LangDialog
 - Math::Script
 - MoreInfo::GetComments
 - MoreInfo::GetCompanyName
 - MoreInfo::GetFileDescription
 - MoreInfo::GetFileVersion
 - MoreInfo::GetInternalName
 - MoreInfo::GetLegalCopyright
 - MoreInfo::GetLegalTrademarks
 - MoreInfo::GetOSUserinterfaceLanguage
 - MoreInfo::GetOriginalFilename
 - MoreInfo::GetPrivateBuild
 - MoreInfo::GetProductName
 - MoreInfo::GetProductVersion
 - MoreInfo::GetSpecialBuild
 - MoreInfo::GetUserDefined
 - NSISdl::download
 - NSISdl::download_quiet
 - RealProgress::AddProgress
 - RealProgress::DetailProgress
 - RealProgress::FileProgress
 - RealProgress::GetProgress
 - RealProgress::GradualProgress
 - RealProgress::SetProgress
 - RealProgress::Unload
 - RealProgress::UseProgressBar
 - Splash::show
 - StartMenu::Init
 - StartMenu::Select
 - StartMenu::Show
 - System::Alloc
 - System::Call
 - System::Copy
 - System::Free
 - System::Get
 - System::Int64Op
 - System::Store
 - System::StrAlloc
 - TypeLib::GetLibVersion
 - TypeLib::Register
 - TypeLib::UnRegister
 - UserInfo::GetAccountType
 - UserInfo::GetName
 - UserInfo::GetOriginalAccountType
 - VPatch::GetFileCRC32
 - VPatch::GetFileMD5
 - VPatch::vpatchfile
 - dialogsEx::FileBox
 - dialogsEx::FolderBox
 - dialogsEx::InputBox
 - dialogsEx::InputRegBox
 - execDos::exec
 - execDos::isdone
 - execDos::wait
 - inetc::get
 - inetc::head
 - inetc::post
 - inetc::put
 - md5dll::GetFileMD5
 - md5dll::GetMD5
 - md5dll::GetMD5File
 - md5dll::GetMD5Random
 - md5dll::GetMD5String
 - newadvsplash::hwnd
 - newadvsplash::play
 - newadvsplash::show
 - newadvsplash::stop
 - newtextreplace::_FillReadBuffer
 - newtextreplace::_FindInFile
 - newtextreplace::_FreeReadBuffer
 - newtextreplace::_ReplaceInFile
 - newtextreplace::_Unload
 - nsDialogs::Create
 - nsDialogs::CreateControl
 - nsDialogs::CreateItem
 - nsDialogs::CreateTimer
 - nsDialogs::GetUserData
 - nsDialogs::KillTimer
 - nsDialogs::OnBack
 - nsDialogs::OnChange
 - nsDialogs::OnClick
 - nsDialogs::OnNotify
 - nsDialogs::SelectFileDialog
 - nsDialogs::SelectFolderDialog
 - nsDialogs::SetRTL
 - nsDialogs::SetUserData
 - nsDialogs::Show
 - nsExec::Exec
 - nsExec::ExecToLog
 - nsExec::ExecToStack
 - registry::_Close
 - registry::_CopyKey
 - registry::_CopyValue
 - registry::_CreateKey
 - registry::_DeleteKey
 - registry::_DeleteKeyEmpty
 - registry::_DeleteValue
 - registry::_Find
 - registry::_HexToStr
 - registry::_HexToStrUTF16LE
 - registry::_KeyExists
 - registry::_MoveKey
 - registry::_MoveValue
 - registry::_Open
 - registry::_Read
 - registry::_ReadExtra
 - registry::_RestoreKey
 - registry::_SaveKey
 - registry::_StrToHex
 - registry::_StrToHexUTF16LE
 - registry::_Unload
 - registry::_Write
 - registry::_WriteExtra

(If you get a compile error with !searchparse, please upgrade to Unicode NSIS 2.46 or later and try again.) (RequireLatestNSIS.nsh:11)
Including required files... (macro:!echo:3)
 - UAC::_
 - newtextreplace::_FillReadBuffer
 - newtextreplace::_FindInFile
 - newtextreplace::_FreeReadBuffer
 - newtextreplace::_ReplaceInFile
 - newtextreplace::_Unload
 - xml::_CloneNode
 - xml::_Coordinate
 - xml::_CreateNode
 - xml::_CreateText
 - xml::_CurrentAttribute
 - xml::_DeclarationEncoding
 - xml::_DeclarationStandalone
 - xml::_DeclarationVersion
 - xml::_ElementPath
 - xml::_FindCloseElement
 - xml::_FindNextElement
 - xml::_FirstAttribute
 - xml::_FirstChild
 - xml::_FirstChildElement
 - xml::_FreeNode
 - xml::_GetAttribute
 - xml::_GetNodeValue
 - xml::_GetText
 - xml::_GotoHandle
 - xml::_GotoPath
 - xml::_InsertAfterNode
 - xml::_InsertBeforeNode
 - xml::_InsertEndChild
 - xml::_IsCDATA
 - xml::_LastAttribute
 - xml::_LastChild
 - xml::_LoadFile
 - xml::_NextAttribute
 - xml::_NextSibling
 - xml::_NextSiblingElement
 - xml::_NoChildren
 - xml::_NodeHandle
 - xml::_NodeType
 - xml::_Parent
 - xml::_PreviousAttribute
 - xml::_PreviousSibling
 - xml::_RemoveAllChild
 - xml::_RemoveAttribute
 - xml::_RemoveNode
 - xml::_ReplaceNode
 - xml::_RootElement
 - xml::_SaveFile
 - xml::_SetAttribute
 - xml::_SetAttributeName
 - xml::_SetAttributeValue
 - xml::_SetCDATA
 - xml::_SetCondenseWhiteSpace
 - xml::_SetEncoding
 - xml::_SetNodeValue
 - xml::_SetText
 - xml::_Unload
 - xml::_XPathAttribute
 - xml::_XPathNode
 - xml::_XPathString
Loading language strings... (macro:!echo:3)
Initialising variables and macros... (macro:!echo:3)
Loading segments... (macro:!echo:3)
warning: !include: could not find: "C:\uqm\App\AppInfo\Launcher\Custom.nsh" (Segments.nsh:122)
warning: !include: could not find: "C:\uqm\App\AppInfo\Launcher\Debug.nsh" (Debug.nsh:87)
Specifying program details and setting options... (macro:!echo:3)
Function: ".onInit"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Core.nsh_.onInit
StrCpy $0 "$EXEDIR" (2) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ClearErrors
ReadEnvStr: _PAL:EXEDIR->$EXEDIR
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "$(LauncherNoUNCSupport)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
File: "System.dll"->"$PLUGINSDIR\System.dll" 11264 bytes
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: GetBaseNameCall
!insertmacro: end of GetBaseNameCall
StrCpy $LauncherFile "$EXEDIR\App\AppInfo\Launcher\$BaseName.ini" () ()
ClearErrors
ReadINIStr $AppID [Details]:AppID from $EXEDIR\App\AppInfo\appinfo.ini
ReadINIStr $AppNamePortable [Details]:Name from $EXEDIR\App\AppInfo\appinfo.ini
!insertmacro: _If
!insertmacro: end of _If
StrCpy $AppNamePortable "PortableApps.com Launcher" () ()
StrCpy $MissingFileOrPath "$EXEDIR\App\AppInfo\appinfo.ini" () ()
MessageBox: 16: "$(LauncherFileNotFound)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: ReadLauncherConfig
ReadINIStr $AppName [Launch]:AppName from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$AppNamePortable" () (-9)
!insertmacro: _If
!insertmacro: end of _If
StrCpy $AppName "$AppNamePortable" (-9) ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $1 "$AppNamePortable" () (-18)
!insertmacro: _If
!insertmacro: end of _If
StrCpy $AppName "$AppNamePortable" (-18) ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $AppName "$AppNamePortable" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
Plugin Command: Call kernel32::GetCurrentProcess()i.s
Plugin Command: Call kernel32::IsWow64Process(is,*i.r0)
!insertmacro: _If
!insertmacro: end of _If
StrCpy $Bits "32" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $Bits "64" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Core.nsh_.onInit
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Temp.nsh_.onInit
ClearErrors
ReadEnvStr: PAL:_TEMP->$TMP
!insertmacro: _If
!insertmacro: end of _If
StrCpy $TMP "$TEMP" () ()
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Temp.nsh_.onInit
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Language.nsh_.onInit
ReadEnvStr: PortableApps.comLocaleID->$0
!insertmacro: _Switch
!insertmacro: end of _Switch
!insertmacro: LanguageCases
!include: "C:\Users\nathan.QTG\AppData\Local\Temp\nst434.tmp"
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Case
!insertmacro: end of _Case
!include: closed: "C:\Users\nathan.QTG\AppData\Local\Temp\nst434.tmp"
!delfile: "C:\Users\nathan.QTG\AppData\Local\Temp\nst434.tmp"
!delfile: deleted "C:\Users\nathan.QTG\AppData\Local\Temp\nst434.tmp"
!undef: "LangAutoDetectFile"
!insertmacro: end of LanguageCases
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
StrCpy $LANGUAGE "$0" () ()
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndSwitch
!insertmacro: end of _EndSwitch
!insertmacro: end of Language.nsh_.onInit
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: OperatingSystem.nsh_.onInit
!insertmacro: _OperatingSystem_CheckOS
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:MinOS from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _Select
!insertmacro: end of _Select
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _CaseElse
!insertmacro: end of _CaseElse
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:MinOS. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndSelect
!insertmacro: end of _EndSelect
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
StrCpy $1 "2000" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "XP" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "2003" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "Vista" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "2008" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "7" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "2008 R2" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $1 "?" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
MessageBox: 327696: "$(LauncherIncompatibleMinOS)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of _OperatingSystem_CheckOS
!insertmacro: _OperatingSystem_CheckOS
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:MaxOS from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _Select
!insertmacro: end of _Select
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _CaseElse
!insertmacro: end of _CaseElse
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:MaxOS. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndSelect
!insertmacro: end of _EndSelect
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
StrCpy $1 "2000" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "XP" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "2003" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "Vista" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "2008" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "7" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $1 "2008 R2" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $1 "?" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
MessageBox: 327696: "$(LauncherIncompatibleMaxOS)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of _OperatingSystem_CheckOS
!insertmacro: end of OperatingSystem.nsh_.onInit
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RunAsAdmin.nsh_.onInit
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $RunAsAdmin [Launch]:RunAsAdmin from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "To use [Launch]:RunAsAdmin=compile-force, you must regenerate the launcher. Continuing with 'force'."
StrCpy $RunAsAdmin "force" () ()
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$RunAsAdmin' for [Launch]:RunAsAdmin. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: RunAsAdmin_OSOverride
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:RunAsAdmin2000 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $RunAsAdmin "$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:RunAsAdmin2000. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunAsAdmin_OSOverride
!insertmacro: RunAsAdmin_OSOverride
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:RunAsAdminXP from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $RunAsAdmin "$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:RunAsAdminXP. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunAsAdmin_OSOverride
!insertmacro: RunAsAdmin_OSOverride
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:RunAsAdmin2003 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $RunAsAdmin "$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:RunAsAdmin2003. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunAsAdmin_OSOverride
!insertmacro: RunAsAdmin_OSOverride
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:RunAsAdminVista from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $RunAsAdmin "$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:RunAsAdminVista. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunAsAdmin_OSOverride
!insertmacro: RunAsAdmin_OSOverride
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:RunAsAdmin2008 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $RunAsAdmin "$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:RunAsAdmin2008. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunAsAdmin_OSOverride
!insertmacro: RunAsAdmin_OSOverride
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:RunAsAdmin7 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $RunAsAdmin "$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:RunAsAdmin7. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunAsAdmin_OSOverride
!insertmacro: RunAsAdmin_OSOverride
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:RunAsAdmin2008R2 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $RunAsAdmin "$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:RunAsAdmin2008R2. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunAsAdmin_OSOverride
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: UAC_RunElevated
File: "UAC.dll"->"$PLUGINSDIR\UAC.dll" 13312 bytes
Plugin Command: _ 0
!insertmacro: end of UAC_RunElevated
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: _Switch
!insertmacro: end of _Switch
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 327733: "$(LauncherRequiresAdmin)



$(LauncherNotAdminTryAgain)" (on IDRETRY goto Elevate)
Quit
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
MessageBox: 327730: "$(LauncherNotAdminLimitedFunctionality)



$(LauncherNotAdminLimitedFunctionalityTryAgain)" (on IDRETRY goto Elevate)
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: CaseUACCodeAlert
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 327696: "$(LauncherRequiresAdmin)"
Quit
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
MessageBox: 327744: "$(LauncherNotAdminLimitedFunctionality)"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: end of CaseUACCodeAlert
!insertmacro: CaseUACCodeAlert
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 327696: "$(LauncherAdminLogonServiceNotRunning)"
Quit
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
MessageBox: 327744: "$(LauncherNotAdminLimitedFunctionality)"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: end of CaseUACCodeAlert
!insertmacro: CaseUACCodeAlert
!insertmacro: _CaseElse
!insertmacro: end of _CaseElse
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 327696: "$(LauncherAdminError)

$(LauncherRequiresAdmin)"
Quit
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
MessageBox: 327744: "$(LauncherAdminError)

$(LauncherNotAdminLimitedFunctionality)"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: end of CaseUACCodeAlert
!insertmacro: _EndSwitch
!insertmacro: end of _EndSwitch
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunAsAdmin.nsh_.onInit
!insertmacro: end of RunSegment
FunctionEnd
Function: "Init"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Core.nsh_Init
StrCpy $LauncherFile "$EXEDIR\App\AppInfo\Launcher\$BaseName.ini" () ()
!insertmacro: _If
!insertmacro: end of _If
InitPluginsDir
CopyFiles: (silent) "$LauncherFile" -> "$PLUGINSDIR\launcher.ini", size=0KB
StrCpy $LauncherFile "$PLUGINSDIR\launcher.ini" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $MissingFileOrPath "$LauncherFile" () ()
MessageBox: 16: "$(LauncherFileNotFound)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: GetParametersCall
!insertmacro: end of GetParametersCall
StrCpy $ProgramExecutable "" () ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadLauncherConfig
ReadINIStr $ProgramExecutable [Launch]:ProgramExecutableWhenParameters64 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadLauncherConfig
ReadINIStr $ProgramExecutable [Launch]:ProgramExecutable64 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: ReadLauncherConfig
ReadINIStr $ProgramExecutable [Launch]:ProgramExecutableWhenParameters from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadLauncherConfig
ReadINIStr $ProgramExecutable [Launch]:ProgramExecutable from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "$EXEDIR\App\AppInfo\Launcher\$BaseName.ini is missing [Launch]:ProgramExecutable - what am I to launch?"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:NoSpacesInPath from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: WordFindCall
!insertmacro: end of WordFindCall
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "$(LauncherNoSpaces)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:NoSpacesInPath. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Core.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Settings.nsh_Init
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
CreateDirectory: "$EXEDIR\Data\settings"
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
CopyFiles: (silent) "$EXEDIR\App\DefaultData\*.*" -> "$EXEDIR\Data", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Settings.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: DriveLetter.nsh_Init
ReadINIStr $LastDrive [$AppIDSettings]:LastDrive from $EXEDIR\Data\settings\$AppIDSettings.ini
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
StrCpy $0 "$CurrentDrive" (1) ()
StrCpy $1 "$LastDrive" (1) ()
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tr0)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tr1)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: end of DriveLetter.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: DirectoryMoving.nsh_Init
ReadINIStr $LastDirectory [$AppIDSettings]:LastDirectory from $EXEDIR\Data\settings\$AppIDSettings.ini
StrCpy $CurrentDirectory "$EXEDIR" () (2)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:DirectoryMoveOK from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "$(LauncherDirectoryMoveNotAllowed)"
Quit
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _If
!insertmacro: end of _If
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
Nop
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:DirectoryMoveOK. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:PackagePartialDir
Push: $CurrentDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
Goto: SetEnvironmentVariablesPath_inst_DONE
!define: "SetEnvironmentVariablesPath_inst_DEFINED"=""
!insertmacro: SetEnvironmentVariablesPath_
Exch($R0,0)
Exch(st(1),0)
Exch($R1,0)
Push: $R2
Push: $R3
Push: $R7
Push: $R8
Push: $R9
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(tR1,tR0)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: WordReplaceCall
!insertmacro: end of WordReplaceCall
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tR2)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: WordReplaceCall
!insertmacro: end of WordReplaceCall
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tR3)
!insertmacro: end of SetEnvironmentVariable
StrCpy $R3 "" () ()
StrLen $R7 "$R2"
IntOp: $R7=$R7-1
!insertmacro: _For
!insertmacro: end of _For
StrCpy $R9 "$R2" (1) ($R8)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $R3 "$R3$R9" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $R3 "$R3/$R9" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tR3)
!insertmacro: end of SetEnvironmentVariable
Pop: $R9
Pop: $R8
Pop: $R7
Pop: $R3
Pop: $R2
Pop: $R1
Pop: $R0
!insertmacro: end of SetEnvironmentVariablesPath_
Return
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:LastPackagePartialDir
Push: $LastDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: end of DirectoryMoving.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Variables.nsh_Init
StrCpy $AppDirectory "$EXEDIR\App" () ()
StrCpy $DataDirectory "$EXEDIR\Data" () ()
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:AppDir
Push: $AppDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:DataDir
Push: $DataDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:PortableAppsDir
Push: $PortableAppsDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
ReadEnvStr: PortableApps.comDocuments->$0
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $0 "$CurrentDrive\Documents" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: SetEnvironmentVariablesPathCall
Push: PortableApps.comDocuments
Push: $0
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
ReadEnvStr: PortableApps.comPictures->$1
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$0\Pictures" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: SetEnvironmentVariablesPathCall
Push: PortableApps.comPictures
Push: $1
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
ReadEnvStr: PortableApps.comMusic->$1
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$0\Music" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: SetEnvironmentVariablesPathCall
Push: PortableApps.comMusic
Push: $1
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
ReadEnvStr: PortableApps.comVideos->$1
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$0\Videos" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: SetEnvironmentVariablesPathCall
Push: PortableApps.comVideos
Push: $1
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
SetShellVarContext: all
!insertmacro: SetEnvironmentVariablesPathCall
Push: ALLUSERSAPPDATA
Push: $APPDATA
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
SetShellVarContext: current
!insertmacro: SetEnvironmentVariablesPathFromEnvironmentVariable
Push: $R0
ReadEnvStr: ALLUSERSPROFILE->$R0
!insertmacro: SetEnvironmentVariablesPathCall
Push: ALLUSERSPROFILE
Push: $R0
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
Pop: $R0
!insertmacro: end of SetEnvironmentVariablesPathFromEnvironmentVariable
!insertmacro: SetEnvironmentVariablesPathFromEnvironmentVariable
Push: $R0
ReadEnvStr: USERPROFILE->$R0
!insertmacro: SetEnvironmentVariablesPathCall
Push: USERPROFILE
Push: $R0
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
Pop: $R0
!insertmacro: end of SetEnvironmentVariablesPathFromEnvironmentVariable
!insertmacro: SetEnvironmentVariablesPathCall
Push: LOCALAPPDATA
Push: $LOCALAPPDATA
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: SetEnvironmentVariablesPathCall
Push: APPDATA
Push: $APPDATA
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: SetEnvironmentVariablesPathCall
Push: DOCUMENTS
Push: $DOCUMENTS
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: end of Variables.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Language.nsh_Init
ReadEnvStr: PortableApps.comLanguageCode->$0
ReadEnvStr: PAL:_IgnoreLanguage->$1
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
StrCpy $9 "pap-missing" () ()
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: SetEnvironmentVariableDefault
Push: $R9
ReadEnvStr: PortableApps.comLanguageCode->$R9
!insertmacro: _If
!insertmacro: end of _If
Pop: $R9
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $R9
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SetEnvironmentVariableDefault
!insertmacro: SetEnvironmentVariableDefault
Push: $R9
ReadEnvStr: PortableApps.comLocaleCode2->$R9
!insertmacro: _If
!insertmacro: end of _If
Pop: $R9
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $R9
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SetEnvironmentVariableDefault
!insertmacro: SetEnvironmentVariableDefault
Push: $R9
ReadEnvStr: PortableApps.comLocaleCode3->$R9
!insertmacro: _If
!insertmacro: end of _If
Pop: $R9
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $R9
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SetEnvironmentVariableDefault
!insertmacro: SetEnvironmentVariableDefault
Push: $R9
ReadEnvStr: PortableApps.comLocaleglibc->$R9
!insertmacro: _If
!insertmacro: end of _If
Pop: $R9
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $R9
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SetEnvironmentVariableDefault
!insertmacro: SetEnvironmentVariableDefault
Push: $R9
ReadEnvStr: PortableApps.comLocaleID->$R9
!insertmacro: _If
!insertmacro: end of _If
Pop: $R9
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $R9
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SetEnvironmentVariableDefault
!insertmacro: SetEnvironmentVariableDefault
Push: $R9
ReadEnvStr: PortableApps.comLocaleWinName->$R9
!insertmacro: _If
!insertmacro: end of _If
Pop: $R9
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $R9
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SetEnvironmentVariableDefault
ReadEnvStr: PortableApps.comLocaleName->$0
!insertmacro: _If
!insertmacro: end of _If
ReadEnvStr: PortableApps.comLocaleWinName->$0
StrCpy $0 "$0" () (5)
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tr0)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [LanguageFile]:Type from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [LanguageFile]:File from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
StrCpy $8 "" () ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadLauncherConfig
ReadINIStr $2 [LanguageFile]:Entry from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadLauncherConfig
ReadINIStr $4 [LanguageFile]:CaseSensitive from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: ConfigReadSCall
!insertmacro: end of ConfigReadSCall
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$4' for [LanguageFile]:CaseSensitive. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: ConfigReadCall
!insertmacro: end of ConfigReadCall
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: ReadLauncherConfig
ReadINIStr $2 [LanguageFile]:Section from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ReadLauncherConfig
ReadINIStr $3 [LanguageFile]:Key from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
ReadINIStr $8 [$2]:$3 from $1
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: XML_WarnNotActivated
MessageBox: 16: "To use XML features of the Launcher you must set [Activate]:XML=true and then regenerate the launcher. Continuing, but [LanguageFile] will not be used."
!insertmacro: end of XML_WarnNotActivated
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [LanguageFile]:Type. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _Else
!insertmacro: end of _Else
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [LanguageFile]:TrimRight from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
StrLen $1 "$0"
StrCpy $2 "$8" () (-$1)
!insertmacro: _If
!insertmacro: end of _If
StrCpy $8 "$8" (-$1) ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tr8)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
ClearErrors
ReadEnvStr: PAL:LanguageCustom->$8
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Language]:Base from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $0->$0
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [LanguageStrings]:$0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [Language]:Default from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $1 "$0" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tr1)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: ReadLauncherConfig
ReadINIStr $2 [Language]:CheckIfExists from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $2->$2
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [Language]:DefaultIfNotExists from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,tr1)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Language.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Registry.nsh_Init
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $UsesRegistry [Activate]:Registry from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$UsesRegistry' for [Activate]:Registry. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Registry.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Java.nsh_Init
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $JavaMode [Activate]:Java from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $JavaDirectory "$PortableAppsDirectory\CommonFiles\Java" () ()
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
ReadRegStr $0 HKLM\Software\JavaSoft\Java Runtime Environment\CurrentVersion
ReadRegStr $JavaDirectory HKLM\Software\JavaSoft\Java Runtime Environment\$0\JavaHome
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
ClearErrors
ReadEnvStr: JAVA_HOME->$JavaDirectory
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
ClearErrors
SearchPath $JavaDirectory java.exe
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $JavaDirectory "$WINDIR\Java" () ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
StrCpy $JavaDirectory "$PortableAppsDirectory\CommonFiles\Java" () ()
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "$(LauncherNoJava)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
MessageBox: 16: "$(LauncherNoJava)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: SetEnvironmentVariablesPathCall
Push: JAVA_HOME
Push: $JavaDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$JavaMode' for [Activate]:Java. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Java.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RunLocally.nsh_Init
!insertmacro: ReadUserConfig
!insertmacro: ConfigReadCall
!insertmacro: end of ConfigReadCall
!insertmacro: end of ReadUserConfig
!insertmacro: end of RunLocally.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Temp.nsh_Init
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $UsesContainedTempDirectory [Launch]:CleanTemp from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$UsesContainedTempDirectory' for [Launch]:CleanTemp. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Temp.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: InstanceManagement.nsh_Init
Plugin Command: Call kernel32::CreateMutex(i0,i0,t"PortableApps.comLauncher$AppID-$BaseName")?e
Pop: $0
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:SinglePortableAppInstance from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Quit
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:SinglePortableAppInstance. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
StrCpy $SecondaryLaunch "true" () ()
StrCpy $WaitForProgram "false" () ()
StrCpy $DisableSplashScreen "true" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
StrCpy $MissingFileOrPath "App\$ProgramExecutable" () ()
MessageBox: 16: "$(LauncherFileNotFound)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:SingleAppInstance from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: _InstanceManagement_QuitIfRunning
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
MessageBox: 16: "$(LauncherAlreadyRunning)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of _InstanceManagement_QuitIfRunning
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:SingleAppInstance. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:CloseEXE from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _InstanceManagement_QuitIfRunning
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
MessageBox: 16: "$(LauncherAlreadyRunning)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of _InstanceManagement_QuitIfRunning
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $WaitForProgram [Launch]:WaitForProgram from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$WaitForProgram' for [Launch]:WaitForProgram. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of InstanceManagement.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: SplashScreen.nsh_Init
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadUserConfig
!insertmacro: ConfigReadCall
!insertmacro: end of ConfigReadCall
!insertmacro: end of ReadUserConfig
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:SplashTime from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:SplashTime. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: CheckForPlatformSplashDisable
StrCmp "$DisableSplashScreen" "true" equal=_CFPSDEnd, nonequal=
Push: $0
Push: $1
Push: $R0
StrCpy $0 "$DisableSplashScreen" () ()
ReadEnvStr: PortableApps.comDisableSplash->$1
StrCmp "$1" "true" equal=, nonequal=_CFPSDStackEnd
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
IfFileExists: "$1\PortableApps.com\PortableAppsPlatform.exe" ?  : _CFPSDStackEnd
File: "MoreInfo.dll"->"$PLUGINSDIR\MoreInfo.dll" 7168 bytes
Plugin Command: GetProductName $1\PortableApps.com\PortableAppsPlatform.exe
Pop: $R0
StrCmp "$R0" "PortableApps.com Platform" equal=, nonequal=_CFPSDStackEnd
File: "MoreInfo.dll"->"$PLUGINSDIR\MoreInfo.dll" 0/7168 bytes
Plugin Command: GetCompanyName $1\PortableApps.com\PortableAppsPlatform.exe
Pop: $R0
StrCmp "$R0" "PortableApps.com" equal=, nonequal=_CFPSDStackEnd
FindProc output=$R0 process_name=PortableAppsPlatform.exe
IntCmp $R0:1 equal=, < _CFPSDStackEnd, > _CFPSDStackEnd
StrCpy $0 "true" () ()
Pop: $R0
Pop: $1
Exch($0,0)
Pop: $DisableSplashScreen
!insertmacro: end of CheckForPlatformSplashDisable
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
File: "newadvsplash.dll"->"$PLUGINSDIR\newadvsplash.dll" 8704 bytes
Plugin Command: show $0 0 0 -1 /L $EXEDIR\App\AppInfo\Launcher\splash.jpg
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SplashScreen.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RefreshShellIcons.nsh_Init
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $RefreshShellIcons [Launch]:RefreshShellIcons from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$RefreshShellIcons' for [Launch]:RefreshShellIcons. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RefreshShellIcons.nsh_Init
!insertmacro: end of RunSegment
FunctionEnd
Function: "Pre"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RunLocally.nsh_Pre
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [LiveMode]:CopyApp from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
CreateDirectory: "$TMP\$AppIDLive"
CopyFiles: (silent) "$EXEDIR\App" -> "$TMP\$AppIDLive", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $AppDirectory "$TMP\$AppIDLive\App" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [LiveMode]:CopyApp. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
CreateDirectory: "$TMP\$AppIDLive"
CopyFiles: (silent) "$EXEDIR\Data" -> "$TMP\$AppIDLive", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $1 "$DataDirectory" () ()
StrCpy $DataDirectory "$TMP\$AppIDLive\Data" () ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: SetFileAttributesDirectoryNormal
Push: $TMP\$AppIDLive
Call "SetFileAttributesDirectoryNormal"
!insertmacro: end of SetFileAttributesDirectoryNormal
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:AppDir
Push: $AppDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:DataDir
Push: $DataDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
CopyFiles: (silent) "$1\PortableApps.comLauncherRuntimeData-$BaseName.ini" -> "$DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini", size=0KB
Delete: "$1\PortableApps.comLauncherRuntimeData-$BaseName.ini"
!insertmacro: _If
!insertmacro: end of _If
StrCpy $WaitForProgram "true" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
CreateDirectory: "$DataDirectory"
!insertmacro: end of RunLocally.nsh_Pre
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Temp.nsh_Pre
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $TempDirectory "$DataDirectory\Temp" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $TempDirectory "$TMP\$AppIDTemp" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
RMDir: /r "$TempDirectory"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
CreateDirectory: "$TempDirectory"
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $TempDirectory "$TMP" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: SetEnvironmentVariablesPathCall
Push: TEMP
Push: $TempDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: SetEnvironmentVariable
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(ts,ts)
!insertmacro: end of SetEnvironmentVariable
!insertmacro: end of Temp.nsh_Pre
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Environment.nsh_Pre
!insertmacro: ForEachINIPair
!define: "_ForEachINIPair_Open"=""
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $LauncherFile as r -> $_FEIP_FileHandle
!insertmacro: _Else
!insertmacro: end of _Else
FileSeek: fp=$_FEIP_FileHandle, ofs=0, mode=SET, output=
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
StrCpy $_FEIP_LineLength "$_FEIP_Line" (1) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $_FEIP_LineLength "$_FEIP_Line"
StrCpy $_FEIP_CharNum "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $_FEIP_Char "$_FEIP_Line" (1) ($_FEIP_CharNum)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$_FEIP_Line" ($_FEIP_CharNum) ()
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
StrCpy $1 "$_FEIP_Line" () ($_FEIP_CharNum)
!insertmacro: TrimWhiteCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
Goto: TrimWhite_inst_DONE
!define: "TrimWhite_inst_DEFINED"=""
!insertmacro: TrimWhite_
Exch($R1,0)
Push: $R2
StrCpy $R2 "$R1" (1) ()
StrCmp "$R2" " " equal=+2, nonequal=
StrCmp "$R2" "	" equal=0, nonequal=+3
StrCpy $R1 "$R1" () (1)
Goto: -4
StrCpy $R2 "$R1" (1) (-1)
StrCmp "$R2" " " equal=+2, nonequal=
StrCmp "$R2" "	" equal=0, nonequal=+3
StrCpy $R1 "$R1" (-1) ()
Goto: -4
Pop: $R2
Exch($R1,0)
!insertmacro: end of TrimWhite_
Return
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of TrimWhiteCall
!insertmacro: TrimWhiteCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of TrimWhiteCall
StrCpy $_FEIP_CharNum "$1" (1) ()
StrCpy $_FEIP_Char "$1" () (-1)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$1" (-1) (1)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of ForEachINIPair
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Plugin Command: Call Kernel32::SetEnvironmentVariable(tr0,tr1)
!insertmacro: NextINIPair
!undef: "_ForEachINIPair_Open"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextINIPair
!insertmacro: end of Environment.nsh_Pre
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: ExecString.nsh_Pre
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _If
!insertmacro: end of _If
StrCpy $ExecString ""$AppDirectory\$ProgramExecutable"" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $ExecString ""$JavaDirectory\bin\$ProgramExecutable"" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:CommandLineArguments from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $0->$0
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
StrCpy $ExecString "$ExecString $0" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: GetParametersCall
!insertmacro: end of GetParametersCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [Launch]:WorkingDirectory from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
StrCpy $ExecString "$ExecString $0" () ()
!insertmacro: _Else
!insertmacro: end of _Else
ClearErrors
GetFullPathName: $0->$1 (4647184)
!insertmacro: _If
!insertmacro: end of _If
StrCpy $ExecString "$ExecString $0" () ()
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
StrCpy $ExecString "$ExecString $1" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: ReadUserConfig
!insertmacro: ConfigReadCall
!insertmacro: end of ConfigReadCall
!insertmacro: end of ReadUserConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $0->$0
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
StrCpy $ExecString "$ExecString $0" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ExecString.nsh_Pre
!insertmacro: end of RunSegment
FunctionEnd
Function: "PrePrimary"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: DriveLetter.nsh_PrePrimary
WriteINIStr: [$AppIDSettings] LastDrive=$CurrentDrive in $DataDirectory\settings\$AppIDSettings.ini
!insertmacro: end of DriveLetter.nsh_PrePrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: DirectoryMoving.nsh_PrePrimary
WriteINIStr: [$AppIDSettings] LastDirectory=$CurrentDirectory in $DataDirectory\settings\$AppIDSettings.ini
!insertmacro: end of DirectoryMoving.nsh_PrePrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: FileWrite.nsh_PrePrimary
StrCpy $R0 "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
IntOp: $R0=$R0+1
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [FileWrite$R0]:Type from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ReadLauncherConfig
ReadINIStr $7 [FileWrite$R0]:File from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $7->$7
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadLauncherConfig
ReadINIStr $2 [FileWrite$R0]:Entry from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ReadLauncherConfig
ReadINIStr $3 [FileWrite$R0]:Value from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $3->$3
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $4 [FileWrite$R0]:CaseSensitive from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$4' for [FileWrite$R0]:CaseSensitive. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: ReadLauncherConfig
ReadINIStr $2 [FileWrite$R0]:Section from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ReadLauncherConfig
ReadINIStr $3 [FileWrite$R0]:Key from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ReadLauncherConfig
ReadINIStr $4 [FileWrite$R0]:Value from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $4->$4
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: XML_WarnNotActivated
MessageBox: 16: "To use XML features of the Launcher you must set [Activate]:XML=true and then regenerate the launcher. Continuing, but [FileWrite$R0] will not be used."
!insertmacro: end of XML_WarnNotActivated
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: ReadLauncherConfig
ReadINIStr $2 [FileWrite$R0]:Find from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: ReadLauncherConfig
ReadINIStr $3 [FileWrite$R0]:Replace from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $2->$2
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $3->$3
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $4 [FileWrite$R0]:CaseSensitive from $LauncherFile
!insertmacro: end of ReadLauncherConfig
StrCpy $5 "skip" () ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
StrCpy $5 "replace" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$4' for [FileWrite$R0]:CaseSensitive. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
StrCpy $5 "replace" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [FileWrite$R0]:Type. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $7
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
Goto: SplitAfterWildCard_inst_DONE
!define: "SplitAfterWildCard_inst_DEFINED"=""
!insertmacro: SplitAfterWildCard_
Exch($0,0)
Push: $1
Push: $2
Push: $3
StrCpy $1 "-1" () ()
StrLen $3 "$0"
IntOp: $1=$1+1
StrCpy $2 "$0" (1) ($1)
StrCmpS "$2" "?" equal=_SAWC_Found_Loop, nonequal=
StrCmpS "$2" "*" equal=_SAWC_Found_Loop, nonequal=
IntCmp $3:$1 equal=_SAWC_NotFound, < , > _SAWC_Loop
IntOp: $1=$1+1
StrCpy $2 "$0" (1) ($1)
StrCmpS "$2" "\" equal=_SAWC_Found_End, nonequal=
IntCmp $3:$1 equal=0, < , > _SAWC_Found_Loop
StrCpy $1 "$0" ($1) ()
StrLen $3 "$1"
StrCpy $0 "$0" () ($3)
StrCpy $_FEP_FindHandle "" () ()
Goto: _SAWC_End
StrCpy $1 "$0" () ()
StrCpy $0 "" () ()
StrCpy $_FEP_FindHandle "0" () ()
Pop: $3
Pop: $2
Exch($1,0)
Exch(st(1),0)
Exch($0,0)
!insertmacro: end of SplitAfterWildCard_
Return
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $R4 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $1 "$7" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $1 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: ConfigWriteSCall
!insertmacro: end of ConfigWriteSCall
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: ConfigWriteCall
!insertmacro: end of ConfigWriteCall
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
WriteINIStr: [$2] $3=$4 in $1
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $5 [FileWrite$R0]:Encoding from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $1 as r -> $9
FileReadByte: $9->$5
FileReadByte: $9->$6
IntOp: $5=$5<<8
IntOp: $5=$5+$6
!insertmacro: _IfThen
!insertmacro: end of _IfThen
FileClose: $9
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$5' for [FileWrite$R0]:Encoding. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReplaceInFileUTF16LECS
Push: /U=1 /S=1
Push: $1
Push: $2
Push: $3
Call "ReplaceInFile"
!insertmacro: end of ReplaceInFileUTF16LECS
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: ReplaceInFileUTF16LE
Push: /U=1 /S=0
Push: $1
Push: $2
Push: $3
Call "ReplaceInFile"
!insertmacro: end of ReplaceInFileUTF16LE
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReplaceInFileCS
Push: /S=1
Push: $1
Push: $2
Push: $3
Call "ReplaceInFile"
!insertmacro: end of ReplaceInFileCS
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: ReplaceInFile
Push: /S=0
Push: $1
Push: $2
Push: $3
Call "ReplaceInFile"
!insertmacro: end of ReplaceInFile
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: end of FileWrite.nsh_PrePrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: FilesMove.nsh_PrePrimary
!insertmacro: ForEachINIPair
!define: "_ForEachINIPair_Open"=""
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $LauncherFile as r -> $_FEIP_FileHandle
!insertmacro: _Else
!insertmacro: end of _Else
FileSeek: fp=$_FEIP_FileHandle, ofs=0, mode=SET, output=
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
StrCpy $_FEIP_LineLength "$_FEIP_Line" (1) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $_FEIP_LineLength "$_FEIP_Line"
StrCpy $_FEIP_CharNum "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $_FEIP_Char "$_FEIP_Line" (1) ($_FEIP_CharNum)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$_FEIP_Line" ($_FEIP_CharNum) ()
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
StrCpy $1 "$_FEIP_Line" () ($_FEIP_CharNum)
!insertmacro: TrimWhiteCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of TrimWhiteCall
!insertmacro: TrimWhiteCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of TrimWhiteCall
StrCpy $_FEIP_CharNum "$1" (1) ()
StrCpy $_FEIP_Char "$1" () (-1)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$1" (-1) (1)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of ForEachINIPair
!insertmacro: _FilesMove_Start
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
StrCpy $0 "$DataDirectory\$0" () ()
StrCpy $4 "$1" () ()
StrCpy $1 "$1\$2" () ()
!insertmacro: end of _FilesMove_Start
StrLen $R0 "$EXEDIR"
StrCpy $R0 "$1" ($R0) ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $7 "in-package" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$1" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $4 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Rename: $4->$4.BackupBy$AppID
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$1" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $4 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$0" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $4 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
Delete: "$4"
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
StrCpy $7 "in-package-done" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: _If
!insertmacro: end of _If
CreateDirectory: "$4"
!insertmacro: WriteRuntimeData
WriteINIStr: [FilesMove] RemoveIfEmpty:$4=true in $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
WriteINIStr: [FilesMove] RemoveIfEmpty:$4=true in $PLUGINSDIR\runtimedata.ini
!insertmacro: end of WriteRuntimeData
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $3 "$0" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $3 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: _If
!insertmacro: end of _If
Rename: $3->$4\$2
!insertmacro: _Else
!insertmacro: end of _Else
CopyFiles: (silent) "$3" -> "$4\$2", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: NextINIPair
!undef: "_ForEachINIPair_Open"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextINIPair
!insertmacro: end of FilesMove.nsh_PrePrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: DirectoriesMove.nsh_PrePrimary
!insertmacro: ForEachINIPair
!define: "_ForEachINIPair_Open"=""
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $LauncherFile as r -> $_FEIP_FileHandle
!insertmacro: _Else
!insertmacro: end of _Else
FileSeek: fp=$_FEIP_FileHandle, ofs=0, mode=SET, output=
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
StrCpy $_FEIP_LineLength "$_FEIP_Line" (1) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $_FEIP_LineLength "$_FEIP_Line"
StrCpy $_FEIP_CharNum "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $_FEIP_Char "$_FEIP_Line" (1) ($_FEIP_CharNum)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$_FEIP_Line" ($_FEIP_CharNum) ()
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
StrCpy $1 "$_FEIP_Line" () ($_FEIP_CharNum)
!insertmacro: TrimWhiteCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of TrimWhiteCall
!insertmacro: TrimWhiteCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of TrimWhiteCall
StrCpy $_FEIP_CharNum "$1" (1) ()
StrCpy $_FEIP_Char "$1" () (-1)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$1" (-1) (1)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of ForEachINIPair
!insertmacro: _DirectoriesMove_Start
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: end of _DirectoriesMove_Start
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "DON'T YOU DARE DO THAT! (You can't [DirectoriesMove] settings)"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $R0 "$EXEDIR"
StrCpy $R0 "$1" ($R0) ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $7 "in-package" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $3 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$1" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $4 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Rename: $4->$4.BackupBy$AppID
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $3 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$1" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $4 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $3 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$0" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $4 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
RMDir: /r "$4"
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
StrCpy $7 "in-package-done" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
CreateDirectory: "$1"
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: _If
!insertmacro: end of _If
CreateDirectory: "$4"
!insertmacro: WriteRuntimeData
WriteINIStr: [DirectoriesMove] RemoveIfEmpty:$4=true in $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
WriteINIStr: [DirectoriesMove] RemoveIfEmpty:$4=true in $PLUGINSDIR\runtimedata.ini
!insertmacro: end of WriteRuntimeData
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $3 "$0" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $3 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Rename: $3->$4\$2
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
CreateDirectory: "$4\$2"
CopyFiles: (silent) "$3\*.*" -> "$4\$2", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: NextINIPair
!undef: "_ForEachINIPair_Open"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextINIPair
!insertmacro: end of DirectoriesMove.nsh_PrePrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RegistryKeys.nsh_PrePrimary
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ForEachINIPair
!define: "_ForEachINIPair_Open"=""
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $LauncherFile as r -> $_FEIP_FileHandle
!insertmacro: _Else
!insertmacro: end of _Else
FileSeek: fp=$_FEIP_FileHandle, ofs=0, mode=SET, output=
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
StrCpy $_FEIP_LineLength "$_FEIP_Line" (1) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $_FEIP_LineLength "$_FEIP_Line"
StrCpy $_FEIP_CharNum "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $_FEIP_Char "$_FEIP_Line" (1) ($_FEIP_CharNum)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$_FEIP_Line" ($_FEIP_CharNum) ()
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
StrCpy $1 "$_FEIP_Line" () ($_FEIP_CharNum)
!insertmacro: TrimWhiteCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of TrimWhiteCall
!insertmacro: TrimWhiteCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of TrimWhiteCall
StrCpy $_FEIP_CharNum "$1" (1) ()
StrCpy $_FEIP_Char "$1" () (-1)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$1" (-1) (1)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of ForEachINIPair
!insertmacro: ValidateRegistryKeyCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.ValidateRegistryKey_inst"
Goto: ValidateRegistryKey_inst_DONE
!define: "ValidateRegistryKey_inst_DEFINED"=""
!insertmacro: ValidateRegistryKey_
Exch($0,0)
Push: $1
StrCpy $1 "$0" (17) ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$0" () (17)
StrCpy $0 "HKCU\Software\Classes$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $0 "$0" () (17)
StrCpy $0 "HKCU$0" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $1 "$0" (18) ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$0" () (18)
StrCpy $0 "HKLM$0" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $1 "$0" (4) ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$0" () (4)
StrCpy $0 "HKCU\Software\Classes$0" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _And
!insertmacro: end of _And
MessageBox: 16: "Note to portable application developer: registry hive in key "$0" is bad, should start with HKCR, HKCU or HKLM. Please fix this. (The launcher will continue running.)"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
Pop: $1
Exch($0,0)
!insertmacro: end of ValidateRegistryKey_
Return
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of ValidateRegistryKeyCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::MoveKey
!define: "REGISTRY_NSH_VARIABLE"=""
Var: "REGISTRY_NSH_VARIABLE"
Plugin Command: _KeyExists $1
Pop: $R9
IntCmp $R9:-1 equal=+15, < , > 
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _Read $1 
Pop: $REGISTRY_NSH_VARIABLE
Pop: $R9
StrCmp "$R9" "" equal=0, nonequal=+6
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _Write $1   REG_SZ
Pop: $R9
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _DeleteValue $1 
Pop: $R9
IntCmp $R9:-1 equal=+6, < , > +4
Plugin Command: _Write $1  $REGISTRY_NSH_VARIABLE $R9
Pop: $R9
IntCmp $R9:-1 equal=+3, < , > 
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _MoveKey $1 HKEY_CURRENT_USER\Software\PortableApps.com\Keys\$1
Pop: $R9
!insertmacro: end of registry::MoveKey
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: WriteRuntimeData
WriteINIStr: [FailedRegistryKeys] $0=true in $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
WriteINIStr: [FailedRegistryKeys] $0=true in $PLUGINSDIR\runtimedata.ini
!insertmacro: end of WriteRuntimeData
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::RestoreKey
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _RestoreKey $DataDirectory\settings\$0.reg
Pop: $R9
IntCmp $R9:-2 equal=0, < 0, > +10
SetDetailsPrint: none
IfFileExists: "$SYSDIR\reg.exe" ? 0 : +4
File: "nsExec.dll"->"$PLUGINSDIR\nsExec.dll" 6144 bytes
Plugin Command: ExecToStack "$SYSDIR\reg.exe" import "$DataDirectory\settings\$0.reg"
Pop: $R9
StrCmp "$R9" "0" equal=+5, nonequal=0
IfFileExists: "$WINDIR\regedit.exe" ? 0 : +3
ExecWait: ""$WINDIR\regedit.exe" /s "$DataDirectory\settings\$0.reg"" (->$R9)
IfErrors ?0:+2
StrCpy $R9 "-1" () ()
SetDetailsPrint: lastused
!insertmacro: end of registry::RestoreKey
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: WriteRuntimeData
WriteINIStr: [FailedRegistryKeys] $0=true in $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
WriteINIStr: [FailedRegistryKeys] $0=true in $PLUGINSDIR\runtimedata.ini
!insertmacro: end of WriteRuntimeData
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: NextINIPair
!undef: "_ForEachINIPair_Open"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextINIPair
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RegistryKeys.nsh_PrePrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RegistryValueBackupDelete.nsh_PrePrimary
!insertmacro: _If
!insertmacro: end of _If
StrCpy $R0 "1" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [RegistryValueBackupDelete]:$R0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ValidateRegistryKeyCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.ValidateRegistryKey_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of ValidateRegistryKeyCall
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::MoveValue
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _MoveValue $2 $3 HKEY_CURRENT_USER\Software\PortableApps.com\Values $1
Pop: $R9
!insertmacro: end of registry::MoveValue
IntOp: $R0=$R0+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RegistryValueBackupDelete.nsh_PrePrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RegistryValueWrite.nsh_PrePrimary
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ForEachINIPair
!define: "_ForEachINIPair_Open"=""
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $LauncherFile as r -> $_FEIP_FileHandle
!insertmacro: _Else
!insertmacro: end of _Else
FileSeek: fp=$_FEIP_FileHandle, ofs=0, mode=SET, output=
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
StrCpy $_FEIP_LineLength "$_FEIP_Line" (1) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $_FEIP_LineLength "$_FEIP_Line"
StrCpy $_FEIP_CharNum "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $_FEIP_Char "$_FEIP_Line" (1) ($_FEIP_CharNum)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$_FEIP_Line" ($_FEIP_CharNum) ()
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
StrCpy $1 "$_FEIP_Line" () ($_FEIP_CharNum)
!insertmacro: TrimWhiteCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of TrimWhiteCall
!insertmacro: TrimWhiteCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of TrimWhiteCall
StrCpy $_FEIP_CharNum "$1" (1) ()
StrCpy $_FEIP_Char "$1" () (-1)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$1" (-1) (1)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of ForEachINIPair
!insertmacro: ValidateRegistryKeyCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.ValidateRegistryKey_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of ValidateRegistryKeyCall
StrCpy $2 "$0" () (-1)
!insertmacro: _If
!insertmacro: end of _If
StrCpy $2 "$0" (-1) ()
StrCpy $3 "" () ()
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $4 "$1"
StrCpy $5 "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $6 "$1" (1) ($5)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $5=$5+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$1" ($5) ()
IntOp: $5=$5+1
StrCpy $1 "$1" () ($5)
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $4 "REG_SZ" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::Write
Plugin Command: _Write $2 $3 $1 $4
Pop: $R9
!insertmacro: end of registry::Write
!insertmacro: NextINIPair
!undef: "_ForEachINIPair_Open"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextINIPair
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RegistryValueWrite.nsh_PrePrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Services.nsh_PrePrimary
!insertmacro: end of Services.nsh_PrePrimary
!insertmacro: end of RunSegment
FunctionEnd
Function: "PreSecondary"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
FunctionEnd
Function: "PreExec"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RefreshShellIcons.nsh_PreExec
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: RefreshShellIconsCall
!insertmacro: end of RefreshShellIconsCall
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RefreshShellIcons.nsh_PreExec
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: WorkingDirectory.nsh_PreExec
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:WorkingDirectory from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $0->$0
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
SetOutPath: "$0"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of WorkingDirectory.nsh_PreExec
!insertmacro: end of RunSegment
FunctionEnd
Function: "PreExecPrimary"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Core.nsh_PreExecPrimary
!insertmacro: WriteRuntimeData
WriteINIStr: [PortableApps.comLauncher] PluginsDir=$PLUGINSDIR in $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
WriteINIStr: [PortableApps.comLauncher] PluginsDir=$PLUGINSDIR in $PLUGINSDIR\runtimedata.ini
!insertmacro: end of WriteRuntimeData
!insertmacro: end of Core.nsh_PreExecPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: SplashScreen.nsh_PreExecPrimary
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $DisableSplashScreen [Launch]:LaunchAppAfterSplash from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
File: "newadvsplash.dll"->"$PLUGINSDIR\newadvsplash.dll" 0/8704 bytes
Plugin Command: stop /WAIT
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$DisableSplashScreen' for [Launch]:LaunchAppAfterSplash. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SplashScreen.nsh_PreExecPrimary
!insertmacro: end of RunSegment
FunctionEnd
Function: "PreExecSecondary"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
FunctionEnd
Function: "Execute"
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: EmptyWorkingSet
Plugin Command: Call kernel32::GetCurrentProcess()i.s
Plugin Command: Call psapi::EmptyWorkingSet(is)
!insertmacro: end of EmptyWorkingSet
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:HideCommandLineWindow from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
File: "execDos.dll"->"$PLUGINSDIR\execDos.dll" 5632 bytes
Plugin Command: exec $ExecString
Pop: $0
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:HideCommandLineWindow. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
ExecWait: "$ExecString" (->)
!insertmacro: _Else
!insertmacro: end of _Else
Exec: "$ExecString" (->)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _If
!insertmacro: end of _If
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:WaitForOtherInstances from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: EmptyWorkingSet
Plugin Command: Call kernel32::GetCurrentProcess()i.s
Plugin Command: Call psapi::EmptyWorkingSet(is)
!insertmacro: end of EmptyWorkingSet
!insertmacro: _Do
!insertmacro: end of _Do
!insertmacro: ProcessWaitCloseCall
!insertmacro: end of ProcessWaitCloseCall
!insertmacro: _IfThen
!insertmacro: end of _IfThen
StrCpy $0 "1" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $2 [Launch]:WaitForEXE$0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ProcessWaitCloseCall
!insertmacro: end of ProcessWaitCloseCall
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $0=$0+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: InvalidValueError
MessageBox: 16: "Error: invalid value '$0' for [Launch]:WaitForOtherInstances. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
FunctionEnd
Function: "PostPrimary"
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Services.nsh_PostPrimary
!insertmacro: end of Services.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RegistryValueBackupDelete.nsh_PostPrimary
!insertmacro: _If
!insertmacro: end of _If
StrCpy $R0 "1" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [RegistryValueBackupDelete]:$R0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ValidateRegistryKeyCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.ValidateRegistryKey_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of ValidateRegistryKeyCall
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::DeleteValue
Plugin Command: _DeleteValue $2 $3
Pop: $R9
!insertmacro: end of registry::DeleteValue
!insertmacro: registry::MoveValue
Plugin Command: _MoveValue HKEY_CURRENT_USER\Software\PortableApps.com\Values $1 $2 $3
Pop: $R9
!insertmacro: end of registry::MoveValue
IntOp: $R0=$R0+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: registry::DeleteKeyEmpty
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _DeleteKeyEmpty HKEY_CURRENT_USER\Software\PortableApps.com\Values
Pop: $R9
!insertmacro: end of registry::DeleteKeyEmpty
!insertmacro: registry::DeleteKeyEmpty
Plugin Command: _DeleteKeyEmpty HKEY_CURRENT_USER\Software\PortableApps.com
Pop: $R9
!insertmacro: end of registry::DeleteKeyEmpty
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RegistryValueBackupDelete.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RegistryKeys.nsh_PostPrimary
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ForEachINIPair
!define: "_ForEachINIPair_Open"=""
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $LauncherFile as r -> $_FEIP_FileHandle
!insertmacro: _Else
!insertmacro: end of _Else
FileSeek: fp=$_FEIP_FileHandle, ofs=0, mode=SET, output=
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
StrCpy $_FEIP_LineLength "$_FEIP_Line" (1) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $_FEIP_LineLength "$_FEIP_Line"
StrCpy $_FEIP_CharNum "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $_FEIP_Char "$_FEIP_Line" (1) ($_FEIP_CharNum)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$_FEIP_Line" ($_FEIP_CharNum) ()
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
StrCpy $1 "$_FEIP_Line" () ($_FEIP_CharNum)
!insertmacro: TrimWhiteCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of TrimWhiteCall
!insertmacro: TrimWhiteCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of TrimWhiteCall
StrCpy $_FEIP_CharNum "$1" (1) ()
StrCpy $_FEIP_Char "$1" () (-1)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$1" (-1) (1)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of ForEachINIPair
!insertmacro: ValidateRegistryKeyCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.ValidateRegistryKey_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of ValidateRegistryKeyCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _Else
!insertmacro: end of _Else
ClearErrors
!insertmacro: ReadRuntimeData
IfFileExists: "$DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini" ? 0 : +3
ReadINIStr $R9 [FailedRegistryKeys]:$0 from $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
Goto: +2
ReadINIStr $R9 [FailedRegistryKeys]:$0 from $PLUGINSDIR\runtimedata.ini
!insertmacro: end of ReadRuntimeData
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::SaveKey
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _SaveKey $1 $DataDirectory\settings\$0.reg 
Pop: $R9
!insertmacro: end of registry::SaveKey
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::DeleteKey
File: "registry.dll"->"$PLUGINSDIR\registry.dll" 0/29696 bytes
Plugin Command: _DeleteKey $1
Pop: $R9
!insertmacro: end of registry::DeleteKey
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::MoveKey
Plugin Command: _KeyExists HKEY_CURRENT_USER\Software\PortableApps.com\Keys\$1
Pop: $R9
IntCmp $R9:-1 equal=+15, < , > 
Plugin Command: _Read HKEY_CURRENT_USER\Software\PortableApps.com\Keys\$1 
Pop: $REGISTRY_NSH_VARIABLE
Pop: $R9
StrCmp "$R9" "" equal=0, nonequal=+6
Plugin Command: _Write HKEY_CURRENT_USER\Software\PortableApps.com\Keys\$1   REG_SZ
Pop: $R9
Plugin Command: _DeleteValue HKEY_CURRENT_USER\Software\PortableApps.com\Keys\$1 
Pop: $R9
IntCmp $R9:-1 equal=+6, < , > +4
Plugin Command: _Write HKEY_CURRENT_USER\Software\PortableApps.com\Keys\$1  $REGISTRY_NSH_VARIABLE $R9
Pop: $R9
IntCmp $R9:-1 equal=+3, < , > 
Plugin Command: _MoveKey HKEY_CURRENT_USER\Software\PortableApps.com\Keys\$1 $1
Pop: $R9
!insertmacro: end of registry::MoveKey
!insertmacro: _Do
!insertmacro: end of _Do
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: registry::DeleteKeyEmpty
Plugin Command: _DeleteKeyEmpty HKEY_CURRENT_USER\Software\PortableApps.com\Keys\$1
Pop: $R9
!insertmacro: end of registry::DeleteKeyEmpty
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: NextINIPair
!undef: "_ForEachINIPair_Open"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextINIPair
!insertmacro: registry::DeleteKeyEmpty
Plugin Command: _DeleteKeyEmpty HKEY_CURRENT_USER\Software\PortableApps.com
Pop: $R9
!insertmacro: end of registry::DeleteKeyEmpty
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RegistryKeys.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RegistryCleanup.nsh_PostPrimary
!insertmacro: _If
!insertmacro: end of _If
StrCpy $R0 "1" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [RegistryCleanupIfEmpty]:$R0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ValidateRegistryKeyCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.ValidateRegistryKey_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of ValidateRegistryKeyCall
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::DeleteKeyEmpty
Plugin Command: _DeleteKeyEmpty $1
Pop: $R9
!insertmacro: end of registry::DeleteKeyEmpty
IntOp: $R0=$R0+1
!insertmacro: _Loop
!insertmacro: end of _Loop
StrCpy $R0 "1" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [RegistryCleanupForce]:$R0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ValidateRegistryKeyCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.ValidateRegistryKey_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of ValidateRegistryKeyCall
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: registry::DeleteKey
Plugin Command: _DeleteKey $1
Pop: $R9
!insertmacro: end of registry::DeleteKey
IntOp: $R0=$R0+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RegistryCleanup.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Qt.nsh_PostPrimary
StrCpy $R0 "1" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [QtKeysCleanup]:$R0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
StrCpy $1 "Software\Trolltech\OrganizationDefaults\$0\$AppDirectory" () ()
DeleteRegKey: HKCU\$1
!insertmacro: _Do
!insertmacro: end of _Do
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
DeleteRegKey: HKCU\$1
!insertmacro: _Loop
!insertmacro: end of _Loop
IntOp: $R0=$R0+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: end of Qt.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: DirectoriesMove.nsh_PostPrimary
!insertmacro: ForEachINIPair
!define: "_ForEachINIPair_Open"=""
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $LauncherFile as r -> $_FEIP_FileHandle
!insertmacro: _Else
!insertmacro: end of _Else
FileSeek: fp=$_FEIP_FileHandle, ofs=0, mode=SET, output=
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
StrCpy $_FEIP_LineLength "$_FEIP_Line" (1) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $_FEIP_LineLength "$_FEIP_Line"
StrCpy $_FEIP_CharNum "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $_FEIP_Char "$_FEIP_Line" (1) ($_FEIP_CharNum)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$_FEIP_Line" ($_FEIP_CharNum) ()
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
StrCpy $1 "$_FEIP_Line" () ($_FEIP_CharNum)
!insertmacro: TrimWhiteCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of TrimWhiteCall
!insertmacro: TrimWhiteCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of TrimWhiteCall
StrCpy $_FEIP_CharNum "$1" (1) ()
StrCpy $_FEIP_Char "$1" () (-1)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$1" (-1) (1)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of ForEachINIPair
!insertmacro: _DirectoriesMove_Start
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: end of _DirectoriesMove_Start
StrLen $R0 "$EXEDIR"
StrCpy $R0 "$1" ($R0) ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $7 "in-package" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$1" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $4 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
ClearErrors
Rename: $4->$3\$2
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
RMDir: /R "$3\$2"
CreateDirectory: "$3\$2"
CopyFiles: (silent) "$4\*.*" -> "$3\$2", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
RMDir: /R "$3\$2"
CreateDirectory: "$3\$2"
CopyFiles: (silent) "$4\*.*" -> "$3\$2", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: !getdebug
!insertmacro: end of !getdebug
RMDir: /R "$4"
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: ReadRuntimeData
IfFileExists: "$DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini" ? 0 : +3
ReadINIStr $2 [DirectoriesMove]:RemoveIfEmpty:$4 from $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
Goto: +2
ReadINIStr $2 [DirectoriesMove]:RemoveIfEmpty:$4 from $PLUGINSDIR\runtimedata.ini
!insertmacro: end of ReadRuntimeData
!insertmacro: _If
!insertmacro: end of _If
RMDir: "$4"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1.BackupBy$AppID
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $3 "$1.BackupBy$AppID" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $3 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: GetBaseNameCall
!insertmacro: end of GetBaseNameCall
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Rename: $3->$4\$2
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: NextINIPair
!undef: "_ForEachINIPair_Open"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextINIPair
!insertmacro: end of DirectoriesMove.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: FilesMove.nsh_PostPrimary
!insertmacro: ForEachINIPair
!define: "_ForEachINIPair_Open"=""
!insertmacro: _If
!insertmacro: end of _If
FileOpen: $LauncherFile as r -> $_FEIP_FileHandle
!insertmacro: _Else
!insertmacro: end of _Else
FileSeek: fp=$_FEIP_FileHandle, ofs=0, mode=SET, output=
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
FileRead: $_FEIP_FileHandle->$_FEIP_Line (max:)
StrCpy $_FEIP_LineLength "$_FEIP_Line" (1) ()
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrLen $_FEIP_LineLength "$_FEIP_Line"
StrCpy $_FEIP_CharNum "0" () ()
!insertmacro: _Do
!insertmacro: end of _Do
StrCpy $_FEIP_Char "$_FEIP_Line" (1) ($_FEIP_CharNum)
!insertmacro: _IfThen
!insertmacro: end of _IfThen
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$_FEIP_Line" ($_FEIP_CharNum) ()
IntOp: $_FEIP_CharNum=$_FEIP_CharNum+1
StrCpy $1 "$_FEIP_Line" () ($_FEIP_CharNum)
!insertmacro: TrimWhiteCall
Push: $0
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $0
!insertmacro: end of TrimWhiteCall
!insertmacro: TrimWhiteCall
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.TrimWhite_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $1
!insertmacro: end of TrimWhiteCall
StrCpy $_FEIP_CharNum "$1" (1) ()
StrCpy $_FEIP_Char "$1" () (-1)
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
StrCpy $1 "$1" (-1) (1)
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of ForEachINIPair
!insertmacro: _FilesMove_Start
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
StrCpy $0 "$DataDirectory\$0" () ()
StrCpy $4 "$1" () ()
StrCpy $1 "$1\$2" () ()
!insertmacro: end of _FilesMove_Start
StrLen $R0 "$EXEDIR"
StrCpy $R0 "$1" ($R0) ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $7 "in-package" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $4 "$1" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $4 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
ClearErrors
Rename: $4->$3\$2
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Delete: "$3\$2"
CopyFiles: (silent) "$4" -> "$3\$2", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Delete: "$3\$2"
CopyFiles: (silent) "$4" -> "$3\$2", size=0KB
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: !getdebug
!insertmacro: end of !getdebug
Delete: "$4"
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: ReadRuntimeData
IfFileExists: "$DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini" ? 0 : +3
ReadINIStr $2 [FilesMove]:RemoveIfEmpty:$4 from $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
Goto: +2
ReadINIStr $2 [FilesMove]:RemoveIfEmpty:$4 from $PLUGINSDIR\runtimedata.ini
!insertmacro: end of ReadRuntimeData
!insertmacro: _If
!insertmacro: end of _If
RMDir: "$4"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1.BackupBy$AppID
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $2 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $3 "$1.BackupBy$AppID" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $3 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: GetBaseNameCall
!insertmacro: end of GetBaseNameCall
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
Rename: $3->$4\$2
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
!insertmacro: NextINIPair
!undef: "_ForEachINIPair_Open"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextINIPair
!insertmacro: end of FilesMove.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: DirectoriesCleanup.nsh_PostPrimary
StrCpy $R0 "1" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [DirectoriesCleanupIfEmpty]:$R0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $3 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $2 "$1" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $2 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
RMDir: "$2"
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
IntOp: $R0=$R0+1
!insertmacro: _Loop
!insertmacro: end of _Loop
StrCpy $R0 "1" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $1 [DirectoriesCleanupForce]:$R0 from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: ParseLocations
!insertmacro: !getdebug
!insertmacro: end of !getdebug
ExpandEnvStrings: $1->$1
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: end of ParseLocations
!insertmacro: ForEachPath
!define: "_ForEachPath_Open"=""
!insertmacro: SplitAfterWildCard
Push: $1
!insertmacro: CallArtificialFunction
!define: "CallArtificialFunction_TYPE"="inst"
Call ":.SplitAfterWildCard_inst"
!undef: "CallArtificialFunction_TYPE"
!insertmacro: end of CallArtificialFunction
Pop: $_FEP_WildCardChild
Pop: $_FEP_WildCardPath
!insertmacro: end of SplitAfterWildCard
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
StrCpy $3 "" () ()
!insertmacro: _Do
!insertmacro: end of _Do
ClearErrors
!insertmacro: _If
!insertmacro: end of _If
StrCpy $2 "$1" () ()
!insertmacro: _IfNotThen
!insertmacro: end of _IfNotThen
!insertmacro: _Else
!insertmacro: end of _Else
!insertmacro: _If
!insertmacro: end of _If
FindFirst: spec="$_FEP_WildCardPath" handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _Else
!insertmacro: end of _Else
FindNext: handle=$_FEP_FindHandle output=$_FEP_FoundName
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $2 "$_FEP_WildCardParent\$_FEP_FoundName$_FEP_WildCardChild" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _And
!insertmacro: end of _And
Push: $0
!insertmacro: GetFileExtCall
!insertmacro: end of GetFileExtCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: _Or
!insertmacro: end of _Or
Pop: $0
!insertmacro: GetFileNameCall
!insertmacro: end of GetFileNameCall
!insertmacro: end of ForEachPath
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
RMDir: /r "$2"
!insertmacro: NextPath
!undef: "_ForEachPath_Open"
!insertmacro: _Else
!insertmacro: end of _Else
Pop: $0
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: _If
!insertmacro: end of _If
FindClose: $_FEP_FindHandle
StrCpy $_FEP_FindHandle "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of NextPath
IntOp: $R0=$R0+1
!insertmacro: _Loop
!insertmacro: end of _Loop
!insertmacro: end of DirectoriesCleanup.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RunLocally.nsh_PostPrimary
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
RMDir: /r "$TMP\$AppIDLive"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RunLocally.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Temp.nsh_PostPrimary
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
RMDir: /r "$TempDirectory"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of Temp.nsh_PostPrimary
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: end of RunSegment
FunctionEnd
Function: "PostSecondary"
!insertmacro: RunSegment
!insertmacro: end of RunSegment
FunctionEnd
Function: "Post"
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: RefreshShellIcons.nsh_Post
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: RefreshShellIconsCall
!insertmacro: end of RefreshShellIconsCall
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of RefreshShellIcons.nsh_Post
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: end of RunSegment
FunctionEnd
Function: "Unload"
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: XML.nsh_Unload
!insertmacro: end of XML.nsh_Unload
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Registry.nsh_Unload
!insertmacro: _IfThen
!insertmacro: end of _IfThen
!insertmacro: end of Registry.nsh_Unload
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: SplashScreen.nsh_Unload
!insertmacro: _If
!insertmacro: end of _If
Plugin Command: stop /WAIT
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of SplashScreen.nsh_Unload
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: Core.nsh_Unload
FileClose: $_FEIP_FileHandle
Delete: "$PLUGINSDIR\launcher.ini"
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: ReadRuntimeData
IfFileExists: "$DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini" ? 0 : +3
ReadINIStr $0 [PortableApps.comLauncher]:PluginsDir from $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
Goto: +2
ReadINIStr $0 [PortableApps.comLauncher]:PluginsDir from $PLUGINSDIR\runtimedata.ini
!insertmacro: end of ReadRuntimeData
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
RMDir: /r "$0"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
Delete: "$DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
Delete: "$PLUGINSDIR\runtimedata.ini"
Plugin Command: Free 0
!insertmacro: end of Core.nsh_Unload
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: end of RunSegment
FunctionEnd
!define: "CallPS"="!insertmacro CallPS"
Section: ""
Call "Init"
!insertmacro: ReadRuntimeData
IfFileExists: "$DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini" ? 0 : +3
ReadINIStr $R9 [PortableApps.comLauncher]:Status from $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
Goto: +2
ReadINIStr $R9 [PortableApps.comLauncher]:Status from $PLUGINSDIR\runtimedata.ini
!insertmacro: end of ReadRuntimeData
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "$(LauncherAlreadyStarting)"
Quit
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
MessageBox: 16: "$(LauncherAlreadyStopping)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: WriteRuntimeData
WriteINIStr: [PortableApps.comLauncher] Status=starting in $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
WriteINIStr: [PortableApps.comLauncher] Status=starting in $PLUGINSDIR\runtimedata.ini
!insertmacro: end of WriteRuntimeData
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: CallPS
Call "Pre"
!insertmacro: _If
!insertmacro: end of _If
Call "PreSecondary"
!insertmacro: _Else
!insertmacro: end of _Else
Call "PrePrimary"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of CallPS
!insertmacro: CallPS
Call "PreExec"
!insertmacro: _If
!insertmacro: end of _If
Call "PreExecSecondary"
!insertmacro: _Else
!insertmacro: end of _Else
Call "PreExecPrimary"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of CallPS
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: WriteRuntimeData
WriteINIStr: [PortableApps.comLauncher] Status=running in $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
WriteINIStr: [PortableApps.comLauncher] Status=running in $PLUGINSDIR\runtimedata.ini
!insertmacro: end of WriteRuntimeData
!insertmacro: _EndIf
!insertmacro: end of _EndIf
Call "Execute"
!insertmacro: _Else
!insertmacro: end of _Else
MessageBox: 16: "$(LauncherCrashCleanup)"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: WriteRuntimeData
WriteINIStr: [PortableApps.comLauncher] Status=stopping in $DataDirectory\PortableApps.comLauncherRuntimeData-$BaseName.ini
WriteINIStr: [PortableApps.comLauncher] Status=stopping in $PLUGINSDIR\runtimedata.ini
!insertmacro: end of WriteRuntimeData
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: CallPS
!insertmacro: _If
!insertmacro: end of _If
Call "PostSecondary"
!insertmacro: _Else
!insertmacro: end of _Else
Call "PostPrimary"
!insertmacro: _EndIf
!insertmacro: end of _EndIf
Call "Post"
!insertmacro: end of CallPS
!insertmacro: _EndIf
!insertmacro: end of _EndIf
Call "Unload"
SectionEnd
Function: ".onInstFailed"
Call "Unload"
FunctionEnd

Processed 1 file, writing output:
Adding plug-ins initializing function... Done!
Processing pages... Done!
Removing unused resources... Done!
Generating language tables... Done!

Output: "C:\uqm\UQMPortable.exe"
Install: 0 pages (0 bytes), 1 section (16416 bytes), 4759 instructions (133252 bytes), 1425 strings (118176 bytes), 24 language tables (5616 bytes).
Datablock optimizer saved 358464 bytes (~71.2%).

Using lzma (compress whole) compression.

EXE header size:               50688 / 38400 bytes
Install code:                          (273788 bytes)
Install data:                          (93728 bytes)
Compressed data:               73750 / 367516 bytes
CRC (0xCA517485):                  4 / 4 bytes

Total size:                   124442 / 405920 bytes (30.6%)

2 warnings:
  !include: could not find: "C:\uqm\App\AppInfo\Launcher\Custom.nsh" (Segments.nsh:122)
  !include: could not find: "C:\uqm\App\AppInfo\Launcher\Debug.nsh" (Debug.nsh:87)
