You are here

You must compile the PortableApps.com Launcher with Unicode NSIS

3 posts / 0 new
Last post
mstrasser
Offline
Last seen: 10 years 5 months ago
Joined: 2013-11-03 10:54
You must compile the PortableApps.com Launcher with Unicode NSIS

Hi !

I try to begin my owner portable application with portableApps.com launcher.
But the software gives me this error message and I can not find anything on google. To think that I'm the only one having this error since its creation Sad

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

Command line defined: "PACKAGE=D:\Dropbox\PortableApps\PortableApps\AdwCleanerPortable"
Command line defined: "NamePortable=AdwCleaner Portable"
Command line defined: "AppID=AdwCleanerPortable"
Command line defined: "Version=2.2.0.0"
Processing config:
Processing plugin dlls: "D:\Dropbox\PortableApps\PortableApps\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
- ExecDos::exec
- ExecDos::isdone
- ExecDos::wait
- 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
- Splash::show
- StartMenu::Init
- StartMenu::Select
- StartMenu::Show
- System::Alloc
- System::Call
- System::Copy
- System::Free
- System::Get
- System::Int64Op
- System::Store
- TypeLib::GetLibVersion
- TypeLib::Register
- TypeLib::UnRegister
- UserInfo::GetAccountType
- UserInfo::GetName
- UserInfo::GetOriginalAccountType
- VPatch::GetFileCRC32
- VPatch::GetFileMD5
- VPatch::vpatchfile
- newadvsplash::hwnd
- newadvsplash::play
- newadvsplash::show
- newadvsplash::stop
- 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::_KeyExists
- registry::_MoveKey
- registry::_MoveValue
- registry::_Open
- registry::_Read
- registry::_ReadExtra
- registry::_RestoreKey
- registry::_SaveKey
- registry::_StrToHex
- registry::_Unload
- registry::_Write
- registry::_WriteExtra
- textreplace::_FillReadBuffer
- textreplace::_FindInFile
- textreplace::_FreeReadBuffer
- textreplace::_ReplaceInFile
- textreplace::_Unload

!define: "MUI_INSERT_NSISCONF"=""

Changing directory to: "D:\Dropbox\PortableApps\PortableApps\PortableApps.comLauncher\Other\Source"

Processing script file: "D:\Dropbox\PortableApps\PortableApps\PortableApps.comLauncher\Other\Source\PortableApps.comLauncher.nsi"
!error: You must compile the PortableApps.com Launcher with Unicode NSIS.
!include: error in script: "RequireLatestNSIS.nsh" on line 3
Error in script "D:\Dropbox\PortableApps\PortableApps\PortableApps.comLauncher\Other\Source\PortableApps.comLauncher.nsi" on line 38 -- aborting creation process

What can i do ?
Thank you for your help

darksabre76
darksabre76's picture
Offline
Last seen: 1 week 4 days ago
Developer
Joined: 2011-04-19 23:28
NSIS Portable

Just a quick lookover of your log and it looks like you need to have NSIS Portable installed. Just install it to the same root folder as the launcher and installer and you should be all set. For example:

+ PortableApps
-+ NSISPortable
-+ PortableApps.comLauncher
-+ PortableApps.comInstaller
RegEdit
RegEdit's picture
Offline
Last seen: 6 years 2 months ago
Joined: 2012-02-03 23:57
Anyway an error

The latest version of the NSIS is installed in the same folder.
Gives an error message

MakeNSIS v2.46.5-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:\Users\root\Desktop\ProxifierPortable"
Command line defined: "NamePortable=Proxifier, Portable Edition"
Command line defined: "AppID=ProxifierPortable"
Command line defined: "Version=2.2.0.0"
Changing directory to: "C:\Users\root\Desktop\PortableApps.comLauncher\Other\Source"

Processing script file: "C:\Users\root\Desktop\PortableApps.comLauncher\Other\Source\PortableApps.comLauncher.nsi"
Processing plugin dlls: "C:\Users\root\Desktop\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
- FindProcDLL::KillProc
- FindProcDLL::WaitProcEnd
- FindProcDLL::WaitProcStart
- 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
- SelfDel::Del
- 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
- w7tbp::Start

(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:\Users\root\Desktop\ProxifierPortable\App\AppInfo\Launcher\Custom.nsh" (Segments.nsh:122)
warning: !include: could not find: "C:\Users\root\Desktop\ProxifierPortable\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
!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
File: "System.dll"->"$PLUGINSDIR\System.dll" 11264 bytes
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\root\AppData\Local\Temp\nstC539.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\root\AppData\Local\Temp\nstC539.tmp"
!delfile: "C:\Users\root\AppData\Local\Temp\nstC539.tmp"
!delfile: deleted "C:\Users\root\AppData\Local\Temp\nstC539.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
!insertmacro: end of Core.nsh_Init
!insertmacro: end of RunSegment
!insertmacro: RunSegment
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: PathChecks.nsh_Init
!insertmacro: _If
!insertmacro: end of _If
StrCpy $0 "$PROGRAMFILES32" () ()
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
StrCpy $0 "$PROGRAMFILES64" () ()
!insertmacro: _Else
!insertmacro: end of _Else
StrCpy $0 "" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
ReadEnvStr: IPromiseNotToComplainWhenPortableAppsDontWorkRightInProgramFiles->$1
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: DebugMsg
!insertmacro: !getdebug
!insertmacro: end of !getdebug
!insertmacro: end of DebugMsg
!insertmacro: _Else
!insertmacro: end of _Else
MessageBox: 16: "$(LauncherProgramFiles)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
StrCpy $1 "nounc" () ()
!insertmacro: _IfThen
!insertmacro: end of _IfThen
ClearErrors
!insertmacro: ReadLauncherConfig
ReadINIStr $0 [Launch]:SupportsUNC from $LauncherFile
!insertmacro: end of ReadLauncherConfig
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "$(LauncherNoUNCSupport)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _ElseIf
!insertmacro: end of _ElseIf
!insertmacro: _Or
!insertmacro: end of _Or
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: _And
!insertmacro: end of _And
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]:SupportsUNC. Please refer to the Manual for valid values."
!insertmacro: end of InvalidValueError
!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 PathChecks.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
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
StrLen $0 "$0"
StrCpy $CurrentDirectory "$EXEDIR" () ($0)
!insertmacro: _If
!insertmacro: end of _If
StrCpy $CurrentDirectory "\" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
ReadINIStr $LastDirectory [$AppIDSettings]:LastDirectory from $EXEDIR\Data\settings\$AppIDSettings.ini
!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: GetParentUNC
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of GetParentUNC
!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
!insertmacro: GetParentUNC
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: end of GetParentUNC
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:PortableAppsBaseDir
Push: $PortableAppsBaseDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
ClearErrors
ReadINIStr $LastPortableAppsBaseDirectory [PortableApps.comLauncherLastRunEnvironment]:PAL:LastPortableAppsBaseDir from $DataDirectory\settings\$AppIDSettings.ini
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: SetEnvironmentVariablesPathCall
Push: PAL:LastPortableAppsBaseDir
Push: $LastPortableAppsBaseDirectory
!insertmacro: CallArtificialFunction2
!define: "CallArtificialFunction2_TYPE"="inst"
Call ":.SetEnvironmentVariablesPath_inst"
!undef: "CallArtificialFunction2_TYPE"
!insertmacro: end of CallArtificialFunction2
!insertmacro: end of SetEnvironmentVariablesPathCall
!insertmacro: _EndIf
!insertmacro: end of _EndIf
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
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 $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
!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 (15251988)
!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: Variables.nsh_PrePrimary
WriteINIStr: [PortableApps.comLauncherLastRunEnvironment] PAL:LastPortableAppsBaseDir=$PortableAppsBaseDirectory in $DataDirectory\settings\$AppIDSettings.ini
!insertmacro: end of Variables.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 $_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: _Else
!insertmacro: end of _Else
StrCpy $7 "not-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: _Else
!insertmacro: end of _Else
StrCpy $7 "not-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, +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"
Plugin Command: Call Kernel32::OpenMutex(i1048576, b0, t"PortableApps.comLauncher$AppID-$BaseName::Starting") i.R0 ?e
Plugin Command: Call Kernel32::CloseHandle(iR0)
Pop: $R9
!insertmacro: _If
!insertmacro: end of _If
MessageBox: 16: "$(LauncherAlreadyStarting)"
Quit
!insertmacro: _EndIf
!insertmacro: end of _EndIf
Plugin Command: Call Kernel32::OpenMutex(i1048576, i0, t"PortableApps.comLauncher$AppID-$BaseName::Stopping") i.R0 ?e
Plugin Command: Call Kernel32::CloseHandle(iR0)
Pop: $R9
!insertmacro: _If
!insertmacro: end of _If
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
Plugin Command: Call Kernel32::CreateMutex(i0, i0, t"PortableApps.comLauncher$AppID-$BaseName::Starting") i.r0
StrCpy $StatusMutex "$0" () ()
!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
StrCpy $0 "$StatusMutex" () ()
Plugin Command: Call Kernel32::CloseHandle(ir0) ?e
Pop: $R9
!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
Plugin Command: Call Kernel32::CreateMutex(i0, i0, t"PortableApps.comLauncher$AppID-$BaseName::Stopping")
!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:\Users\root\Desktop\PortableApps.comLauncher\Other\Source\ProxyfierPortable.exe"
Install: 0 pages (0 bytes), 1 section (16416 bytes), 4842 instructions (135576 bytes), 1442 strings (121278 bytes), 24 language tables (5808 bytes).
Datablock optimizer saved 358464 bytes (~49.4%).

Using lzma (compress whole) compression.

EXE header size: 272896 / 50176 bytes
Install code: (279406 bytes)
Install data: (93728 bytes)
Compressed data: 74297 / 373134 bytes
CRC (0x9D76591A): 4 / 4 bytes

Total size: 347197 / 423314 bytes (82.0%)

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

Please Tell me in what error in first happening ?

to portable your life with portableapps.com

Log in or register to post comments