You are here

PortableApps.com Installer 0.11.0 Pre-Release 1 (Need Developers to Test)

15 posts / 0 new
Last post
John T. Haller
John T. Haller's picture
Offline
Last seen: 8 hours 45 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
PortableApps.com Installer 0.11.0 Pre-Release 1 (Need Developers to Test)

This has been released. Thanks for testing:
https://portableapps.com/node/14939

I've just posted a test release of the PortableApps.com Installer. This new release adds multilingual installation abilities. So, you can pick and choose which languages are supported in the config file and the installer will take care of the rest for you (including the appropriate language files, posting the language selector and checking the language of the platform if it's there and automatically using it). This will allow us to have multilingual installers for our multilingual apps so a user who only speaks German, for instance, can install VLC Portable using a comfortable German installer rather than English.

You can find the test version of the installer here:
PortableApps.com_Installer_0.11.0_Pre-Release_1.zip

I've also built a test package of Toucan 2.0.4 using this new installer to test it and so you can see how it works. You can get it here: Toucan_2.0.4_INSTALLER_0.11_TEST.paf.exe

This new installer has about 500 new lines of code, so I'd like a few folks to review it before we start using it on any official apps.

This is also the final step to getting our installer working entirely from the appinfo.ini and generating all the code automatically. As long as this code test goes well, we'll be ready to release the generator and then anyone can package a portable app within a PortableApps.com Installer without needing to write a single line of code or needing to compile or install anything locally.

Please give this a thorough testing. Feel free to use it for development tests but no pre-releases right now. And post any findings and feedback.

Thanks!
John

David Dixon II
David Dixon II's picture
Offline
Last seen: 2 years 9 months ago
Developer
Joined: 2007-06-11 22:54
Vale!

I will check this out. Smile

Na na na, come on!

Bensawsome
Offline
Last seen: 2 years 9 months ago
Joined: 2006-04-22 19:27
SWEET

This is AWESOME! Thanks sooooooooooooooooo much John Biggrin this will be perfect... Maybe I can update my launchers with this Biggrin

 iLike Macs, iPwn, However you put it... Apple is better ^_^ 
"Claiming that your operating system is the best in the world because more people use it is like saying McDonalds makes the best food in the world..."

horusofoz
horusofoz's picture
Offline
Last seen: 1 year 2 months ago
Joined: 2008-04-03 22:45
A Generator?

Sorry not a dev but that idea caught my eye? Would that mean I could put in say the EXE file for RedNoteBook and have it generate a portable version of it? If its a little more complicated than that but the general idea is right could you please explain. I ask as there are a number of softwares/freewares I would like to see portable, eg RedNoteBook & XnView

PortableApps.com Advocate

John T. Haller
John T. Haller's picture
Offline
Last seen: 8 hours 45 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Not Quite

This would generate all the code for the PortableApps.com Installer from you making simple entries in the appinfo.ini file without the need to code or install any additional software as it would have the compiler built in, too.

Sometimes, the impossible can become possible, if you're awesome!

horusofoz
horusofoz's picture
Offline
Last seen: 1 year 2 months ago
Joined: 2008-04-03 22:45
Oh well

I guess if it makes it easier for devs it can only benefit us all anyway Smile

Thanks always for all the work you do Smile

PortableApps.com Advocate

Jacob Mastel
Offline
Last seen: 1 week 1 day ago
Developer
Joined: 2007-06-13 19:36
No go for me.

I tried this on my stickies Portable launcher and I got this error:

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

Processing config: 
Processing plugin dlls: "C:\Program Files\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
 - FindProcDLL::FindProc
 - InstallOptions::dialog
 - InstallOptions::initDialog
 - InstallOptions::show
 - 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
 - Time::_GetFileTime
 - Time::_GetFileTimeUTC
 - Time::_GetLocalTime
 - Time::_GetLocalTimeUTC
 - Time::_MathTime
 - Time::_SetFileTime
 - Time::_SetFileTimeUTC
 - Time::_SetLocalTime
 - Time::_SetLocalTimeUTC
 - Time::_TimeString
 - Time::_Unload
 - TypeLib::GetLibVersion
 - TypeLib::Register
 - TypeLib::UnRegister
 - UserInfo::GetAccountType
 - UserInfo::GetName
 - UserInfo::GetOriginalAccountType
 - VPatch::GetFileCRC32
 - VPatch::GetFileMD5
 - VPatch::vpatchfile
 - nsDialogs::Create
 - nsDialogs::CreateControl
 - nsDialogs::CreateItem
 - nsDialogs::GetUserData
 - nsDialogs::OnBack
 - nsDialogs::OnChange
 - nsDialogs::OnClick
 - nsDialogs::OnNotify
 - nsDialogs::SelectFileDialog
 - nsDialogs::SelectFolderDialog
 - nsDialogs::SetRTL
 - nsDialogs::SetUserData
 - nsDialogs::Show
 - nsExec::Exec
 - nsExec::ExecToLog
 - nsExec::ExecToStack

!define: "MUI_INSERT_NSISCONF"=""

Changing directory to: "C:\Users\Jacob\Stickies Portable\Other\Source"

Processing script file: "C:\Users\Jacob\Stickies Portable\Other\Source\PortableApps.comInstaller.nsi"
!define: "PORTABLEAPPSINSTALLERVERSION"="0.11.0.0"
!include: "PortableApps.comInstallerConfig.nsh"
!define: "NAME"="Stickies Portable"
!define: "SHORTNAME"="StickiesPortable"
!define: "VERSION"="6.7.1.0"
!define: "FILENAME"="Stickies_Portable_Dev_Test_3.0"
!define: "CHECKRUNNING"="StickiesPortable.exe"
!define: "CLOSENAME"="Stickies Portable "
!define: "ADDONSDIRECTORYPRESERVE"="NONE"
!define: "INSTALLERCOMMENTS"="For additional details, visit PortableApps.com"
!define: "INSTALLERADDITIONALTRADEMARKS"=""
!define: "INSTALLERMULTILINGUAL"="true"
!include: closed: "PortableApps.comInstallerConfig.nsh"
!define: "MAINSECTIONIDX"="0"
Name: "Stickies Portable"
OutFile: "..\..\..\Stickies_Portable_Dev_Test_3.0.paf.exe"
InstallDir: "\StickiesPortable"
Caption: "Stickies Portable | PortableApps.com Installer"
VIAddVersionKey: "ProductName" "Stickies Portable"
VIAddVersionKey: "Comments" "For additional details, visit PortableApps.com"
VIAddVersionKey: "CompanyName" "PortableApps.com"
VIAddVersionKey: "LegalCopyright" "PortableApps.com Installer Copyright 2007-2008 PortableApps.com."
VIAddVersionKey: "FileDescription" "Stickies Portable"
VIAddVersionKey: "FileVersion" "6.7.1.0"
VIAddVersionKey: "ProductVersion" "6.7.1.0"
VIAddVersionKey: "InternalName" "Stickies Portable"
VIAddVersionKey: "LegalTrademarks" "PortableApps.com is a Trademark of Rare Ideas, LLC."
VIAddVersionKey: "OriginalFilename" "Stickies_Portable_Dev_Test_3.0.paf.exe"
VIAddVersionKey: "PortableApps.comInstallerVersion" "0.11.0.0"
SetCompress: Auto
SetCompressor: /SOLID lzma
SetCompressorDictSize: 32 mb
SetDatablockOptimize: On
CRCCheck: on
AutoCloseWindow: true
!include: "C:\Program Files\NSIS\Include\MUI.nsh"
!include: "C:\Program Files\NSIS\Contrib\Modern UI\System.nsh"
NSIS Modern User Interface version 1.8 - © 2002-2008 Joost Verburg (C:\Program Files\NSIS\Contrib\Modern UI\System.nsh:8)
!define: "MUI_INCLUDED"=""
!define: "MUI_SYSVERSION"="1.8"
!define: "MUI_VERBOSE"="3"
!include: closed: "C:\Program Files\NSIS\Contrib\Modern UI\System.nsh"
!include: closed: "C:\Program Files\NSIS\Include\MUI.nsh"
!include: "C:\Program Files\NSIS\Include\FileFunc.nsh"
!define: "FILEFUNC_INCLUDED"=""
!include: closed: "C:\Program Files\NSIS\Include\FileFunc.nsh"
!include: "C:\Program Files\NSIS\Include\LogicLib.nsh"
!include: closed: "C:\Program Files\NSIS\Include\LogicLib.nsh"
!insertmacro: DriveSpace
!insertmacro: end of DriveSpace
!insertmacro: GetOptions
!insertmacro: end of GetOptions
!insertmacro: GetDrives
!insertmacro: end of GetDrives
!insertmacro: GetRoot
!insertmacro: end of GetRoot
!insertmacro: GetSize
!insertmacro: end of GetSize
!insertmacro: GetParent
!insertmacro: end of GetParent
!include: "C:\Program Files\NSIS\Include\TextFunc.nsh"
!define: "TEXTFUNC_INCLUDED"=""
!include: "C:\Program Files\NSIS\Include\FileFunc.nsh"
!include: closed: "C:\Program Files\NSIS\Include\FileFunc.nsh"
!include: closed: "C:\Program Files\NSIS\Include\TextFunc.nsh"
!include: "C:\Program Files\NSIS\Include\WordFunc.nsh"
!define: "WORDFUNC_INCLUDED"=""
!include: closed: "C:\Program Files\NSIS\Include\WordFunc.nsh"
Icon: "..\..\App\AppInfo\appicon.ico"
!define: "MUI_ICON"="..\..\App\AppInfo\appicon.ico"
BrandingText: "PortableApps.com - Your Digital Life, Anywhere™"
!define: "MUI_WELCOMEFINISHPAGE_BITMAP"="PortableApps.comInstaller.bmp"
!define: "MUI_WELCOMEPAGE_TITLE"="Stickies Portable"
!define: "MUI_WELCOMEPAGE_TEXT"="$(welcome)"
!define: "MUI_COMPONENTSPAGE_SMALLDESC"=""
!insertmacro: MUI_PAGE_WELCOME
!insertmacro: end of MUI_PAGE_WELCOME
!define: "MUI_DIRECTORYPAGE_VERIFYONLEAVE"=""
!define: "MUI_PAGE_CUSTOMFUNCTION_LEAVE"="LeaveDirectory"
!insertmacro: MUI_PAGE_DIRECTORY
!insertmacro: end of MUI_PAGE_DIRECTORY
!insertmacro: MUI_PAGE_INSTFILES
!insertmacro: end of MUI_PAGE_INSTFILES
!define: "MUI_FINISHPAGE_TEXT"="$(finish)"
!insertmacro: MUI_PAGE_FINISH
!insertmacro: end of MUI_PAGE_FINISH
!insertmacro: MUI_RESERVEFILE_LANGDLL
!insertmacro: end of MUI_RESERVEFILE_LANGDLL
Var: "FOUNDPORTABLEAPPSPATH"
Function: ".onInit"
SetSilent: normal
ReadEnvStr: PortableApps.comLocaleID->$0
Goto: ShowLanguageSelector
StrCpy $LANGUAGE "$0" () ()
Goto: GetCommandLineOptions
!insertmacro: MUI_LANGDLL_DISPLAY
warning: unknown variable/constant "{MUI_LANGDLL_LANGUAGES_CP}" detected, ignoring (macro:MUI_LANGDLL_DISPLAY:27)
!insertmacro: end of MUI_LANGDLL_DISPLAY
!insertmacro: GetOptionsCall
!insertmacro: end of GetOptionsCall
IfErrors ?CheckLegacyDestination:
StrCpy $INSTDIR "$R0StickiesPortable" () ()
Goto: InitDone
ClearErrors
!insertmacro: GetOptionsCall
!insertmacro: end of GetOptionsCall
IfErrors ?NoDestination:
StrCpy $INSTDIR "$R0StickiesPortable" () ()
Goto: InitDone
ClearErrors
!insertmacro: GetDrivesCall
!insertmacro: end of GetDrivesCall
StrCmp "$FOUNDPORTABLEAPPSPATH" "" equal=DefaultDestination, nonequal=
StrCpy $INSTDIR "$FOUNDPORTABLEAPPSPATH\StickiesPortable" () ()
Goto: InitDone
StrCpy $INSTDIR "\StickiesPortable" () ()
FunctionEnd
Function: "LeaveDirectory"
IfFileExists: "$INSTDIR" ?  : CheckInstallerError
StrCmp "StickiesPortable.exe" "NONE" equal=CheckInstallerError, nonequal=
File: "FindProcDLL.dll"->"$PLUGINSDIR\FindProcDLL.dll" 31744 bytes
Plugin Command: FindProc StickiesPortable.exe
StrCmp "$R0" "1" equal=, nonequal=CheckInstallerError
MessageBox: 64: "$(runwarning)"
Abort: ""
!insertmacro: _Switch
!insertmacro: end of _Switch
!insertmacro: _Case
!insertmacro: end of _Case
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _Case
!insertmacro: end of _Case
MessageBox: 0: "$(invaliddirectory)"
Abort: ""
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _Case
!insertmacro: end of _Case
IfFileExists: "$INSTDIR" ?  : NotEnoughSpaceNoUpgrade
SectionGetSize: 0->$1
!insertmacro: GetRootCall
!insertmacro: end of GetRootCall
!insertmacro: DriveSpaceCall
!insertmacro: end of DriveSpaceCall
!insertmacro: GetSizeCall
!insertmacro: end of GetSizeCall
IntOp: $3=$3+$4
IfFileExists: "$INSTDIR\Data" ?  : CheckPluginsDirectory
!insertmacro: GetSizeCall
!insertmacro: end of GetSizeCall
IntOp: $3=$3-$4
StrCmp "NONE" "NONE" equal=CalculateSpaceLeft, nonequal=
IfFileExists: "$INSTDIR\NONE" ?  : CalculateSpaceLeft
!insertmacro: GetSizeCall
!insertmacro: end of GetSizeCall
IntOp: $3=$3-$4
IntCmp $3:$1 equal=NotEnoughSpaceNoUpgrade,  
Goto: EndNotEnoughSpace
MessageBox: 0: "$(notenoughspace)"
Abort: ""
!insertmacro: _Goto
!insertmacro: end of _Goto
!insertmacro: _EndSwitch
!insertmacro: end of _EndSwitch
FunctionEnd
Function: "GetDrivesCallBack"
StrCmp "$8" "FDD" equal=, nonequal=CheckForPortableAppsPath
StrCmp "$9" "A:\" equal=End, nonequal=
StrCmp "$9" "B:\" equal=End, nonequal=
IfFileExists: "$9PortableApps" ?  : End
StrCpy $FOUNDPORTABLEAPPSPATH "$9PortableApps" () ()
Push: $0
FunctionEnd
Section: "App Portable (required)"
SectionIn: [RO] 
SetOutPath: "$INSTDIR"
File: "StickiesPortable.exe" 75464 bytes
File: "Stickies_Portable_6.7a_DevTest_2.paf.exe" 891628 bytes
File: "help.html" 4178 bytes
SetOutPath: "$INSTDIR\App"
File: Descending to: "..\..\App\AppInfo\"
File: "AppIcon.ico" 22486 bytes
File: "Origional AppIcon.ico" 44148 bytes
File: "appinfo.ini" 437 bytes
File: Descending to: "..\..\App\Stickies\"
File: "shc.exe" 20480 bytes
File: "shook45.dll" 32768 bytes
File: "stickies.24h" 11948 bytes
File: "stickies.bak" 14906 bytes
File: "stickies.chm" 390613 bytes
File: "stickies.exe" 765952 bytes
File: "stickies.ini" 1136 bytes
File: "store.mdb" 102400 bytes
File: Returning to: "..\..\App"
SetOutPath: "$INSTDIR\Other"
File: Descending to: "..\..\Other\Help\"
File: Descending to: "..\..\Other\Help\images\"
File: "donation_button.png" 2396 bytes
File: "favicon.ico" 2550 bytes
File: "help_background_footer.png" 216 bytes
File: "help_background_header.png" 283 bytes
File: "help_logo_top.png" 8576 bytes
File: Descending to: "..\..\Other\Source\"
File: "License.txt" 18322 bytes
File: "PortableApps.comInstaller.bmp" 52574 bytes
File: "PortableApps.comInstaller.nsi" 31963 bytes
File: "PortableApps.comInstallerConfig.nsh" 8119 bytes
File: "Readme.txt" 3981 bytes
File: "StickiesPortable.ini" 213 bytes
File: "StickiesPortable.nsi" 3440 bytes
File: "stickies-splash.jpg" 35937 bytes
File: Returning to: "..\..\Other"
CreateDirectory: "$INSTDIR\Data"
!insertmacro: GetParentCall
!insertmacro: end of GetParentCall
DetailPrint: "$(checkforplatform)"
IfFileExists: "$0\PortableApps.com\App\PortableAppsPlatform.exe" ?  : TheEnd
File: "MoreInfo.dll"->"$PLUGINSDIR\MoreInfo.dll" 23040 bytes
Plugin Command: GetProductName $0\PortableApps.com\App\PortableAppsPlatform.exe
Pop: $1
StrCmp "$1" "PortableApps.com Platform" equal=, nonequal=TheEnd
File: "MoreInfo.dll"->"$PLUGINSDIR\MoreInfo.dll" 0/23040 bytes
Plugin Command: GetCompanyName $0\PortableApps.com\App\PortableAppsPlatform.exe
Pop: $1
StrCmp "$1" "PortableApps.com" equal=, nonequal=TheEnd
Plugin Command: FindProc PortableAppsPlatform.exe
StrCmp "$R0" "1" equal=, nonequal=TheEnd
StrCpy $2 "PortableApps.comPlatformWindowMessageToRefresh$0\PortableApps.com\App\PortableAppsPlatform.exe" () ()
Plugin Command: Call user32::RegisterWindowMessage(t r2) i .r3
DetailPrint: "$(refreshmenu)"
SendMessage:(65535,$3,0,0)
SectionEnd

Processed 1 file, writing output:
Adding plug-ins initializing function... Done!
Error: resolving install function "Nsis2Io" in function "mui.FinishPre_125.5.9"
Note: uninstall functions must begin with "un.", and install functions must not
Error - aborting creation process

Release Team Member

John T. Haller
John T. Haller's picture
Offline
Last seen: 8 hours 45 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Upgrade

Before we do anything else, you should upgrade NSIS to 2.42.

And make sure you have the appropriate language files. Most we have are in that Toucan sample I posted.

Sometimes, the impossible can become possible, if you're awesome!

BuddhaChu
BuddhaChu's picture
Offline
Last seen: 5 months 1 week ago
Joined: 2006-11-18 10:26
Does this new installer let

Does this new installer let the user only install a certain language to the target media?

i.e.: If the installer has 10 languages in it for the app being installed, and you pick LangX during the extraction/install process, only LangX will end up on the target media thereby saving space.

EDIT: answering my own question with the Toucan sample proggy...

The installer doesn't take the user's input into account and dumps ALL language files for the app onto the target media.

The feature described above needs to be on the radar for one of the next enhancements. Another enhancement could be to "languagize" the help file since they're all in English right now (that would be more work for devs...I get that).

Cancer Survivors -- Remember the fight, celebrate the victory!
Help control the rugrat population -- have yourself spayed or neutered!

John T. Haller
John T. Haller's picture
Offline
Last seen: 8 hours 45 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Nope

The installer can't do that. But an individual dev can do that if they want within custom code. They'll just have to worry about supporting that ongoing.

We probably will not be doing this for any of the official apps as it's more development and support work for not much benefit. And none of the regular apps do that on the PC side for the same reasons. Now that 16GB drives are common (and only $20), we won't be as worried about install size.

Sometimes, the impossible can become possible, if you're awesome!

horusofoz
horusofoz's picture
Offline
Last seen: 1 year 2 months ago
Joined: 2008-04-03 22:45
Sweet :-)

Time for the big games - Nexuiz, Glest, Wesnoth, Tremulous, Warzone 2100, etc Blum

PortableApps.com Advocate

BuddhaChu
BuddhaChu's picture
Offline
Last seen: 5 months 1 week ago
Joined: 2006-11-18 10:26
Roger that Red Leader.

Roger that Red Leader. Smile

Cancer Survivors -- Remember the fight, celebrate the victory!
Help control the rugrat population -- have yourself spayed or neutered!

John T. Haller
John T. Haller's picture
Offline
Last seen: 8 hours 45 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Although

I think I'll add an option to auto-select the Additional Languages option if they choose something besides English so it's pre-selected on that screen. That would make sense.

Sometimes, the impossible can become possible, if you're awesome!

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 10 months ago
Developer
Joined: 2006-11-17 15:31
Totally off topic again,

Totally off topic again, sorry, but you seem to not be getting any of my e-mails, which is totally bizarre O_o. Can you drop me a line at megazzt at gmail dot com? Or check your inbox or junk box or something? I sent like three e-mails to your personal address (tried to change some stuff each time to not trigger junk filters) and one to your "Developers, Translators, Volunteers and Website Login Issues" e-mail on this site, but nothing. Sad

Also to be on topic I'll probably take a look at this for my next Chrome installer, sounds neat. Biggrin

Signature automatically removed for being too awesome.

kai.inouye
kai.inouye's picture
Offline
Last seen: 12 years 11 months ago
Developer
Joined: 2008-02-03 20:12
SWEET! Thanks, I will test

SWEET! Thanks, I will test this out! :DD

Topic locked