You are here

(Outdated) PortableApps.com Installer 0.12.4 (2009-03-12)

81 posts / 0 new
Last post
John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
(Outdated) PortableApps.com Installer 0.12.4 (2009-03-12)

THE NEW RELEASE OF THE PORTABLEAPPS.COM INSTALLER IS HERE:
https://portableapps.com/node/19015

The PortableApps.com Installer allows you to easily create a custom installer for any app without having to write any code. You just need to edit a simple configuration file that has comments within and have the latest NSIS and the FindProc and MoreInfo plugins installed on your PC.

The current version of the installer is 0.12.4 and it was released on 2009-03-12. You can download the current installer as well as the localization files from here:

Download PortableApps.com Installer 0.12.4 [56K download / 145K unzipped]
MD5: 22db2806392b4ee2456a3db978e5841f

The download includes the following files:
PortableApps.comInstaller.bmp - the banner that is shown on the left-hand side
PortableApps.comInstaller.nsi - the actual code (this file may not be edited)
PortableApps.comInstallerConfig.nsh - the configuration file which should be edited as the included comment guidelines indicate (no custom code may be added to this file)
PortableApps.comInstallerLANG_*.nsh - localization files for different languages

As you read through PortableApps.comInstallerConfig.nsh, you'll see that you have many options in terms of files to remove and keep. For most installers, removing the App and Other directories is sufficient when upgrading.

For applications with plugins and other files that may reside in the App directory that you wish to keep, you can define individual directories and files to preserve. This will allow you to keep, for example, the App\Example\plugins directory even though you've set the App directory to be removed.

The end result is that your installer is greatly simplified and it removes the need for most developers to have to do a WinMerge on the previous and new version, determine what files and directories to remove and then write the NSIS code to do so.

In the off chance you do need custom code, you can still set the config file to allow it and then include your custom code within a file called PortableApps.comInstallerCustom.nsh. In there, you can define macros that will be run pre install, post install and pre install when the optional section of a multi installer is not selected. These macros must be named CustomCodeOptionalCleanup, CustomCodePreInstall and CustomCodePostInstall. All are optional.

Using The Installer

  1. Unzip the files to your application's Other\Source directory in a standard PortableApps.com Format layout
  2. Edit the PortableApps.comInstallerConfig.nsh file appropriately for your application
  3. Then include the LANG files that you are using in the installer. One if single language, as needed if multiple languages.
  4. When done, compile the installer by right-clicking on the PortableApps.comInstaller.nsi file in Windows Explorer and selecting Compile NSIS Script (requires NSIS and the FindProc and MoreInfo plugins installed on your PC)
  5. When complete, the directory above your AppNamePortable directory (usually X:\PortableApps) will contain your installer

NOTE: You can usually speed up compile time by doing the above off a fast hard drive (internal or external) rather than a slower flash drive.

Updating the Installer and Config

All releases with the same point number use the same config file layout. So, your config file from PortableApps.com Installer 0.12.1 will work fine, unchanged with 0.12.3. We only make changes on point releases and major releases. 0.13 would have a different config file layout.

Language Support

The PortableApps.com Installer has full support for: Afrikaans, Albanian, Arabic, Basque, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, Estonian, Farsi, Finnish, French, German, Greek, Hebrew, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Macedonian, Norwegian, Polish, Portuguese, Portuguese (Brazilian), Romanian, Russian, Serbian (Latin), Simplified Chinese, Slovak, Slovenian, Spanish, Spanish (International), Swedish, Thai, Traditional Chinese, Ukranian

The PortableApps.com Installer has partial support (Welcome and Finish pages and a few strings will be in English) for: Belarusian, Bosnian, Breton, Galician, Icelandic, Irish, Kurdish, Luxembourgish, Malay, Mongolian, Norwegian Nynorsk, Serbian, Turkish, Uzbeck, Welsh

If you'd like to assist with one of these languages we're missing our translation for, you can do so in the Localization: PortableApps.com Installer 0.12.x & up forum thread.

New Release Notification

If you'd like to get an email notification when a new version of the PortableApps.com Installer is released, you can just by using your SourceForge.net account and monitoring the PortableApps.com Installer package.

Please post any comments or suggestions.

Thanks,
John

Future additions:

  • Add installer generator from appinfo.ini

Release History:

  • 0.12.4 (2009-03-12): Fix for installer hang when refreshing the menu with Platform 1.5
  • 0.12.3 (2009-03-02): Fixed Catalan, Serbian, Swedish, Uzbek, Spanish International translations
  • 0.12.2 (2009-02-27): Added afrikaans, albanian, arabic, basque, bulgarian, catalan, croatian, czech, danish, farsi, finnish, greek, hebrew, indonesian, korean, latvian, lithuanian, macedonian, norwegian, romanian, serbianlatin, slovak, slovenian, swedish, thai and ukranian translations
  • 0.12.1 (2009-02-23): Fixed a translation (not used in any apps)
  • 0.12.0 (2009-02-20): Fixed Polish, added Hungarian, updated to new versioning format
  • 0.11.2 (2009-02-15): Added ability to pre-select optional component when doing a non-English install (useful for multilingual installers) and updated trademarks
  • 0.11.1 (2009-02-02): Fixed typo in "ukranian" includes
  • 0.11.0 (2009-01-20): Multilingual and single-language installers now supported. Considered a pre-release.
  • 0.10.5 (2009-01-07): VersionCompare support in custom code. removed silent install (was mistakenly enabled previously, causes bugs and bypasses space checks, option checks, etc)
  • 0.10.4 (2008-00-00): Blank suffixes now supported
  • 0.10.3 (2008-00-00): Plugin installers now have special naming
  • 0.10.2 (2008-00-00): Fixed plugin mode bug that required files in root
  • 0.10.1 (2008-00-00): Fixed custom code issue
  • 0.10.0 (2008-08-05): Initial public release
LOGAN-Portable
LOGAN-Portable's picture
Offline
Last seen: 9 years 8 months ago
Developer
Joined: 2007-09-11 12:24
Thanks John for this great

Thanks John for this great new direction. Great idea!

Bobert
Bobert's picture
Offline
Last seen: 12 years 8 months ago
Joined: 2008-06-10 20:43
This makes it tons easier so

This makes it tons easier so newbies aren't overwhelmed by the amount of code they have to edit. This is wonderful, John!

There's no place like 127.0.0.1

MarkoMLM
MarkoMLM's picture
Offline
Last seen: 6 years 11 months ago
DeveloperTranslator
Joined: 2006-01-16 04:08
Great ...

... nothing more to say!

Paid for Software more or less?
What You need is OSS!

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 13 years 1 month ago
Developer
Joined: 2007-10-23 22:14
Nice!

The only other feature I see missing is the ability to install all or part of the app to CommonFiles like in the Java portablizer or Perl Portable.

formerly rayven01

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Different

That'll be handled differently. We're only gonna support a couple things in Common Files and they'll be as special installers for that. And we'll be able to bundle those installers with apps when really needed. (Think GTK+ installer inside Pidgin with local installs)

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

digitxp
digitxp's picture
Offline
Last seen: 11 years 3 weeks ago
Joined: 2007-11-03 18:33
Is it possible to put an

Is it possible to put an APPNAME constant so that there's less typing to do?

Insert original signature here with Greasemonkey Script.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Nope

It's been discussed a couple times and the answer is still no. I assume you're thinking that while looking at this:

!define NAME "AppName Portable"
!define SHORTNAME "AppNamePortable"
!define VERSION "1.2.3.4"
!define FILENAME "AppName_Portable_1.2"
!define CHECKRUNNING "AppNamePortable.exe"
!define CLOSENAME "AppName Portable"

So let's walk through it again. The AppName part of NAME and SHORTNAME are going to be different for several apps "Mozilla Firefox, Portable Edition" and "FirefoxPortable" for instance. The AppName part of FILENAME will be different again for some "Firefox_Portable_3.0.1_en-us" for instance. And the AppName part of CHECKRUNNING AND CLOSENAME may not even be the portable AppName it could be the regular appname "pidgin-portable.exe" and "Pidgin" for instance.

So, we can not save time with another variable and you only have to fill out this information *ONE* time for each app. So please can we stop asking about this now people? Blum Smile

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

digitxp
digitxp's picture
Offline
Last seen: 11 years 3 weeks ago
Joined: 2007-11-03 18:33
Oh.

Okay, I think I'm going to drop an encyclopedia on my foot now...

Insert original signature here with Greasemonkey Script.

Simeon
Simeon's picture
Offline
Last seen: 7 years 11 months ago
DeveloperTranslator
Joined: 2006-09-25 15:15
One question:

Wouldnt it better to get rid of the ;!define REMOVEDATADIRECTORY part?
Cause it shouldnt be used anyway and if I need it I can do it via custom codes. I just think it might be better if we make it as hard as possible to delete the users Data.

"What about Love?" - "Overrated. Biochemically no different than eating large quantities of chocolate." - Al Pacino in The Devils Advocate

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 13 years 1 month ago
Developer
Joined: 2007-10-23 22:14
Multi-installer question

The old multi-installer had a part where you performed an action if the option wasn't selected, ie:

	;=== BEGIN: OPTIONAL NOT SELECTED POST-INSTALL CODE
	RMDir /r $INSTDIR\App\GnuCash\share\locale
	;=== END: OPTIONAL NOT SELECTED POST-INSTALL CODE

What's the preferred method of doing this now?

Edit: nevermind, I just noticed the end of your post. Must have missed it on first read-through.

formerly rayven01

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
0.10.2

0.10.2 fixes a bug where plugin installers accidentally tried to include files from the root directory

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

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
0.10.3

Version 0.10.3 allows plugin installers to now be named PortableApps.comInstallerPlugin.nsi and the associated config file to PortableApps.comInstallerPluginCustom.nsh to avoid overwriting the main app installer.

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

John Bentley
John Bentley's picture
Offline
Last seen: 13 years 1 month ago
Developer
Joined: 2006-01-24 13:26
Where can I find

Where can I find PortableApps.comInstallerLANG_English.nsh?

cowsay Moo
cowthink 'Dude, why are you staring at me.'

kai.inouye
kai.inouye's picture
Offline
Last seen: 10 years 9 months ago
Developer
Joined: 2008-02-03 20:12
I found...

I found PortableApps.comInstallerLANG_English.nsh in the Source folder in Notepad++

Simeon
Simeon's picture
Offline
Last seen: 7 years 11 months ago
DeveloperTranslator
Joined: 2006-09-25 15:15
yes

its included in each of the latest apps

"What about Love?" - "Overrated. Biochemically no different than eating large quantities of chocolate." - Al Pacino in The Devils Advocate

kai.inouye
kai.inouye's picture
Offline
Last seen: 10 years 9 months ago
Developer
Joined: 2008-02-03 20:12
Why doesn't he put it here?

Why doesn't he put it here?

digitxp
digitxp's picture
Offline
Last seen: 11 years 3 weeks ago
Joined: 2007-11-03 18:33
Well

it's actually just the !insertmacro "Lang_English" part in the old installers (keep in mind we want to be multilingual ;).

Insert original signature here with Greasemonkey Script.

GrzegorzJZD
Offline
Last seen: 11 years 8 months ago
Joined: 2008-04-20 19:00
Description of more than 1 components doesn't work

I'm not sure why, but when I add more then one component installer doesn't show descriptions and during compilations NSIS displays warnings: "macro:MUI_DESCRIPTION_TEXT:5".

OliverK
OliverK's picture
Offline
Last seen: 1 year 3 months ago
Developer
Joined: 2007-03-27 15:21
You shouldn't be changing the

You shouldn't be changing the installer period. All you should need to edit would be:
PortableApps.comInstallerConfig.nsh
which would be(edited for my latest app, which I shall post up in about 5 minutes):

;This software is OSI Certified Open Source Software.
;OSI Certified is a certification mark of the Open Source Initiative.

;This program is free software; you can redistribute it and/or
;modify it under the terms of the GNU General Public License
;as published by the Free Software Foundation; either version 2
;of the License, or (at your option) any later version.

;This program is distributed in the hope that it will be useful,
;but WITHOUT ANY WARRANTY; without even the implied warranty of
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;GNU General Public License for more details.

;You should have received a copy of the GNU General Public License
;along with this program; if not, write to the Free Software
;Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

;EXCEPTION: Can be used with non-GPL apps distributed by PortableApps.com

;OVERVIEW: This file is used to hold configuration data for the PortableApps.comInstaller
;It should be placed in the Other\Source directory along with PortableApps.comInstaller.nsi.
;All configuration data is contained within it.  If any custom pre-install, post-install or
;cleanup when the optional features are not selected is needed, it can be included in the
;PortableApps.comInstallerCustom.nsi which is detailed within that file.

;LAST UPDATED FOR INSTALLER VERSION: 0.10.1

;== Basic Information.  Basic information about the portable app
!define NAME "ATPad Portable"
!define SHORTNAME "ATPadPortable"
!define VERSION "1.0.103.0"
!define FILENAME "ATPadPortable_Portable_1.0.103.0_Development_Test_1_en_us"
!define CHECKRUNNING "ATPadPortable.exe"
!define CLOSENAME "ATPad Portable"
!define ADDONSDIRECTORYPRESERVE "NONE" ;use "NONE" for no plugins directory or relative to install directory: App\AppName\plugins
!define INSTALLERCOMMENTS "For additional details, visit PortableApps.com"
!define INSTALLERADDITIONALTRADEMARKS "" ;end this entry with a period and a space if used
!define INSTALLERLANGUAGE "English" ;one of the NSIS pre-defined languages supported: English, French, Italian, German, Japanese, SimpChinese

;== License.  For no license agreement, comment out the next line by placing a semicolon at the start of it
;!define LICENSEAGREEMENT "eula.rtf"

;== Multi-Installer.  If making an installer with no options (like additional languages), comment out the next line by placing a semicolon at the start of it
!define MAINSECTIONTITLE "ATPad Portable (English) [Required]"
!ifdef MAINSECTIONTITLE
	!define MAINSECTIONDESCRIPTION "Install the portable app"
	!define OPTIONALSECTIONTITLE "Additional Languages"
	!define OPTIONALSECTIONDESCRIPTION "Add multilingual support for this app"
	!define OPTIONALSECTIONSELECTEDAPPINFOSUFFIX "(Multilingual)"
	!define OPTIONALSECTIONNOTSELECTEDAPPINFOSUFFIX "(English)"
!endif

;== Plugin Installer.  If this is a plugin installer (not a full app installer), uncomment this line to skip adding the app size to the free space calculation and files in root directory
;!define PLUGININSTALLER "true"

;== Remove Main Directories.  If you want to remove one of the main directories before installing (useful with upgrades) uncomment the appropriate line.
;!define REMOVEAPPDIRECTORY "true"
;!define REMOVEDATADIRECTORY "true" ;Normally this should not be used
;!define REMOVEOTHERDIRECTORY "true"

;== Preserve Specific Directories.  If you are removing directories but wish to preserve a specific directory, define them here.
;!define PRESERVEDIRECTORY1 "App\Example\Plugins"
;!define PRESERVEDIRECTORY2 ""
;!define PRESERVEDIRECTORY3 ""
;!define PRESERVEDIRECTORY4 ""
;!define PRESERVEDIRECTORY5 ""
;!define PRESERVEDIRECTORY6 ""
;!define PRESERVEDIRECTORY7 ""
;!define PRESERVEDIRECTORY8 ""
;!define PRESERVEDIRECTORY9 ""
;!define PRESERVEDIRECTORY10 ""

;== Preserve Specific Files.  If you are removing directories but wish to preserve a specific file, define them here.  Wildcards work.
;!define PRESERVEFILE1 "App\Example\Plugin.dll"
;!define PRESERVEFILE2 ""
;!define PRESERVEFILE3 ""
;!define PRESERVEFILE4 ""
;!define PRESERVEFILE5 ""
;!define PRESERVEFILE6 ""
;!define PRESERVEFILE7 ""
;!define PRESERVEFILE8 ""
;!define PRESERVEFILE9 ""
;!define PRESERVEFILE10 ""

;== Remove Specific Directories.  If you wish to remove specific directories and all files within, define them here.
;!define REMOVEDIRECTORY1 "App\Example"
;!define REMOVEDIRECTORY2 ""
;!define REMOVEDIRECTORY3 ""
;!define REMOVEDIRECTORY4 ""
;!define REMOVEDIRECTORY5 ""
;!define REMOVEDIRECTORY6 ""
;!define REMOVEDIRECTORY7 ""
;!define REMOVEDIRECTORY8 ""
;!define REMOVEDIRECTORY9 ""
;!define REMOVEDIRECTORY10 ""

;== Remove Specific Files. If you wish to remove specific files, define them here.  Wildcards are acceptable: App\Example\Example.*
;!define REMOVEFILE1 "App\Example\example.exe"
;!define REMOVEFILE2 ""
;!define REMOVEFILE3 ""
;!define REMOVEFILE4 ""
;!define REMOVEFILE5 ""
;!define REMOVEFILE6 ""
;!define REMOVEFILE7 ""
;!define REMOVEFILE8 ""
;!define REMOVEFILE9 ""
;!define REMOVEFILE10 ""

;== Custom Code.  If you need custom code pre or post install or to cleanup when optional features are not selected, uncomment the appropriate lines here and include it in the PortableApps.comInstallerCustom.nsi file.
;!define USESCUSTOMCODE "true"
;!define USESCONFIGREAD "true" ;Uncomment this line if you need to use ConfigRead functions in your custom code
;!define USESCONFIGREADS "true" ;Uncomment this line if you need to use ConfigReadS functions in your custom code
;!define USESCONFIGWRITE "true" ;Uncomment this line if you need to use ConfigWrite functions in your custom code
;!define USESCONFIGWRITES "true" ;Uncomment this line if you need to use ConfigWriteS functions in your custom code

If you need custom code, you would use:
PortableApps.comInstallerCustom.nsh

!macro CustomCodeOptionalCleanup
; none needed
!macroend
!macro CustomCodePreInstall

!macroend
!macro CustomCodePostInstall

!macroend

The installer itself SHOULD NOT BE EDITED

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 7 years 3 months ago
Joined: 2007-04-15 21:08
Bug-fixes

If you will forgive my impertinence in posting a bug-fix, here it is, and it fixes a few major bugs with components in the installer. (All of these bugs are at the very end, with the component installer section.) The bug becomes apparent if you want to have more than one word in the component installation to stick into appinfo.ini. Normally, you won't want to, as it'll stick on "(English)" or "(Multilingual)", but in the case of BPBible, I needed "(App only)" and "(App with WEB and KJV)", so it didn't work.

!ifdef MAINSECTIONTITLE
	Section /o "${OPTIONALSECTIONTITLE}"
		SetOutPath $INSTDIR
		File /r "..\..\..\${SHORTNAME}Optional1\*.*"
		StrCpy $OPTIONAL1DONE "true"
	SectionEnd

	Section "-UpdateAppInfo" SecUpdateAppInfo
		StrCmp $OPTIONAL1DONE "true" SecUpdateAppInfoOptionalSelected
			StrCmp ${OPTIONALSECTIONNOTSELECTEDAPPINFOSUFFIX} "" SecUpdateAppInfoTheEnd
				ReadINIStr $0 "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "DisplayVersion"
				WriteINIStr $INSTDIR\App\AppInfo\appinfo.ini" "Version" "DisplayVersion" "$0 ${OPTIONALSECTIONNOTSELECTEDAPPINFOSUFFIX}"
			Goto SecUpdateAppInfoTheEnd

		SecUpdateAppInfoOptionalSelected:
			StrCmp ${OPTIONALSECTIONSELECTEDAPPINFOSUFFIX} "" SecUpdateAppInfoTheEnd
				ReadINIStr $0 "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "DisplayVersion"
				WriteINIStr $INSTDIR\App\AppInfo\appinfo.ini" "Version" "DisplayVersion" "$0 ${OPTIONALSECTIONSELECTEDAPPINFOSUFFIX}"
		SecUpdateAppInfoTheEnd:
	SectionEnd

	!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
		!insertmacro MUI_DESCRIPTION_TEXT ${MAINSECTIONIDX} "${MAINSECTIONDESCRIPTION}"
		!insertmacro MUI_DESCRIPTION_TEXT ${OPTIONALSECTIONIDX} "${OPTIONALSECTIONDESCRIPTION}"
	!insertmacro MUI_FUNCTION_DESCRIPTION_END
!endif

With my fixes:

!ifdef MAINSECTIONTITLE
	Section /o "${OPTIONALSECTIONTITLE}"
		SetOutPath $INSTDIR
		File /r "..\..\..\${SHORTNAME}Optional1\*.*"
		StrCpy $OPTIONAL1DONE "true"
	SectionEnd

	Section "-UpdateAppInfo" SecUpdateAppInfo
		StrCmp $OPTIONAL1DONE "true" SecUpdateAppInfoOptionalSelected
			StrCmp "${OPTIONALSECTIONNOTSELECTEDAPPINFOSUFFIX}" "" SecUpdateAppInfoTheEnd
				ReadINIStr $0 "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "DisplayVersion"
				WriteINIStr "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "DisplayVersion" "$0 ${OPTIONALSECTIONNOTSELECTEDAPPINFOSUFFIX}"
			Goto SecUpdateAppInfoTheEnd

		SecUpdateAppInfoOptionalSelected:
			StrCmp "${OPTIONALSECTIONSELECTEDAPPINFOSUFFIX}" "" SecUpdateAppInfoTheEnd
				ReadINIStr $0 "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "DisplayVersion"
				WriteINIStr "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "DisplayVersion" "$0 ${OPTIONALSECTIONSELECTEDAPPINFOSUFFIX}"
		SecUpdateAppInfoTheEnd:
	SectionEnd

	!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
		!insertmacro MUI_DESCRIPTION_TEXT ${MAINSECTIONIDX} "${MAINSECTIONDESCRIPTION}"
		!insertmacro MUI_DESCRIPTION_TEXT ${OPTIONALSECTIONIDX} "${OPTIONALSECTIONDESCRIPTION}"
	!insertmacro MUI_FUNCTION_DESCRIPTION_END
!endif

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Good Catch

I must have lost those double quotes when replacing something else. It's fixed in 0.10.4.

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

kai.inouye
kai.inouye's picture
Offline
Last seen: 10 years 9 months ago
Developer
Joined: 2008-02-03 20:12
Do I

Do I have to edit the PortableApps.comInstallerConfig.nsh every time I update?

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 7 years 3 months ago
Joined: 2007-04-15 21:08
One line

Unless anything else has been changed (which John should say), you'll just need to change following line to say the latest version.

;LAST UPDATED FOR INSTALLER VERSION: 0.10.4

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
No

From about 0.10.1 or .2 forward as long as the second digit is unchanged, the existing config file will work. When I add or change config stuff it'll go to 0.11.

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

richo
richo's picture
Offline
Last seen: 5 days 7 hours ago
Joined: 2007-01-31 22:03
Version Info strings

Is there any particular reason why the following line:

VIAddVersionKey PortableApps.comInstallerVersion "${PORTABLEAPPSINSTALLERVERSION}"

isn't:

VIAddVersionKey "PortableApps.com Installer Version" "${PORTABLEAPPSINSTALLERVERSION}"

also, could an additional Copyright define be added, something similar to the additional Trademarks define.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Consistency

All the others are spaceless, so it was for consistency.

No additional copyrights are added as the installer is copyright PortableApps.com.

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

richo
richo's picture
Offline
Last seen: 5 days 7 hours ago
Joined: 2007-01-31 22:03
RE: Version Info Strings

Okay, but when you right click on an executable file and click properties, on the 'Version' tab, Windows actually puts spaces in the following:

FileVersion
InternalName
LegalTrademarks
OriginalFilename
ProductName
ProductVersion
PrivateBuild
SpecialBuild

And the following:

CompanyName

become:

Company

Also, custom versioninfo strings don't get treated the same way.

Personally, I think it would be better to have spaces in it, but, it's your script.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Ah

Well, it's a bit too late now as we got lots of apps with it out as is. It'll be used by a later release of the Platform to understand how to communicate with some of the installers, so we'll be sticking with it as is. That's actually the main point of that custom string. Probably 99.99% of people will never see it, so we're not as worried about formatting.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
How to compile addon/plugins installer

Hi,
how can I create an addon/plugin installer that adds files to the data directory? I have figured out how to add files to the other and app folders, but I have problems with adding files to the data folder.
The additional files should be copied to the $APPDATA folder, which is redirected to the Settingsdirectory (data\settings\appdata).

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Directly

You can only add them directly (by storing them in Data\Settings\AppData within the directories) since APPDATA will be a LOCAL variable in the context the installer is run.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
Yeah,

but I guess you misunderstood my problem.
If the App folder is empty, the compilation will fail.
If I add a file to the App folder, the compilation will work.
But the created package includes only the Other and App subfolders, not the Data subfolder.
Well, have I missed an option in the Installer or InstallerConfig or isn't it possible to adjust the Installer so that files in the Data subfolder will be included.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Correct

It's for plugin installers. Plugins go in the App directory. Stuff that would go in Data isn't considered plugins, so it won't work. What are you trying to do so we can see if it would make sense to update the installer code?

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
Nevermind :-)

I found a workaround.
I want to create an addons pack for Dia portable. It will include additional objects, shapes and sheets.
Normally you could add new ones to the $APPDATA folder, in case of Dia Portable this is Data\settings\.dia .
But you could add them to App\Dia too. If you have a local install and add them in the programdirectory, they will be available for all users.
So either I'll create an addons pack this way or I'll include the addtional files in Dev Test 2.

onyangosteve
Offline
Last seen: 13 years 10 months ago
Joined: 2008-11-26 06:52
Portable appa suite

I downloaded the above but was unable to install it with the reason that system cannot find an installer. Could you assist resolve this. I am anxious to get working with it. Thanks

St

ericb
Offline
Last seen: 12 years 10 months ago
Joined: 2008-12-09 22:35
Error in PortableApps.comInstaller.nsi

Error function: FindProcDLL::FindProc "${CHECKRUNNING}"

ZachHudock
ZachHudock's picture
Offline
Last seen: 4 years 8 months ago
Developer
Joined: 2006-12-06 18:07
you need the FindProcDLL

you need the FindProcDLL plugin

The developer formerly known as ZGitRDun8705

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Updated to 0.10.5

Version 0.10.5 adds in the ability to use VersionCompare within custom code (which is first used by Notepad++ Portable 5.1.3) allowing an installer to easily check if upgrading from a specific version or earlier (useful for updates where file layouts change, etc). Silent installs are also disabled, they were mistakenly enabled earlier but have multiple issues including bypassing of free space checks, bypassing of options and bypassing of EULAs.

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

kai.inouye
kai.inouye's picture
Offline
Last seen: 10 years 9 months ago
Developer
Joined: 2008-02-03 20:12
Thank you John, will update

Thank you John, will update

johnlgalt
Offline
Last seen: 3 years 2 months ago
Joined: 2008-03-07 02:14
BTW, FWIW - up above in the

BTW, FWIW - up above in the Release History you listed the last release as a 2008 release as opposed to 2009, John.

You can delete this post after fixing it :P~

__

JG

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
0.11.1 - We're Multilingual

I've updated the installer to add full multilingual support, all settable within the config file. If multilingual, you'll get a language picker on launch for the end user to pick their language unless they've launched from the upcoming PortableApps.com Platform 1.2 or 2.0 Alpha in which case it will automatically appear in their chosen language.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
Multiple Languages!

Hi John,
I tested the new Installer (0.11.1), but I had the same problem mentioned here.
Altough I've included all languages included in your PortableApps.com_Installer_0.11.1.zip-file, I could only choose "German, English, Spanish, Dutch, Italian, French and Portuguese" when installing.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
By Design

That is by design. NSIS is not a Unicode-aware app, which is why it still works on Windows 95/98/Me which several of our apps still support. So, it can not display, for example, Japanese if you have Windows set as English with the primary language. You can only select the languages the current PC is capable of displaying. As 99.99% of people will be running the installer on a PC in their native tongue or capable of displaying it, it's not a big deal at the moment. Once NSIS goes Unicode (which should hopefully be soon) we'll switch over to that and it won't be an issue. Their is an unofficial NSIS Unicode build now but it doesn't work with many plugins that we use and may have bugs.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
Ah, I see :-)

Thanks for the explanation!

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
MoreInfo

Not an update to the installer, but I added the notes about the MoreInfo plugin being required as it was inadvertently omitted from the requirements.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
$INSTALLDIRECTORY

Hi John,
I don't know if that makes sense to you, but how about introducing a new variable $INSTALLDIRECTORY to the Installer and InstallerConfig? Usually it's the same as $SHORTNAME, but for some Addons or Plugins it could be useful.

I could use it for my Diashapes Portable. It is an addon for Dia Portable, so the $SHORTNAME and $INSTALLDIRECTORY are different. In the past I changed the Installer code (5 lines).

In the new Installer I'll have to change line 40, 572, 579, 586 and 590. I'll replace $SHORTNAME by my $INSTALLDIRECTORY (DiaPortable).

Thoughts?

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Nope

What you do is include the files within a directory structure. So you'd actually have it all contained in the appropriate place. It would get pointed to X:\PortableApps\DiaPortable automatically (or by the end user), but within that, you'd have the appropriate directories in your file structure (NOT in the installer code). All our plugins and addons work like this. End users should have have to browser directory structures within portable app's directories to install add-ons, the installer must do it for them.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
Nope,

Diashapes Portable would get pointed to X:\PortableApps\DiaShapesPortable automatically (using the standard installer). And that isn't the right path. It should get pointed to X:\PortableApps\DiaPortable automatically. Therefore I'll have to change the code.
IMHO Diashapes is only an addon with his own name.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
No

The shortname should be DiaPortable, NOT DiaShapesPortable. Shortname is only used for the install directory. The long name can be whatever you want.

If you alter the installer code, it's no longer a PortableApps.com Installer.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
Sorry,

Shortname is only used for the install directory
Well, nope, look at your code.

If you alter the installer code, it's no longer a PortableApps.com Installer.
Ok, so I'll drop the popular Diashapes Portable. I don't want to create my own Installer fork Sad

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
I Am

Look at it again and tell me what else it's used for.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
Point of view

John, thank you for all your great work here. PortableApps.com is really a great project.

I made a suggestion for the installer, you don't like it. That's ok. It was only a suggestion, forget it.

You wrote "If you alter the installer code, it's no longer a PortableApps.com Installer.". I accept that, but all I want is to create a great package that makes it easy for the end users. And I'm an end user too, not really a dev. In the majority of cases it's enough to change the InstallerConfig.nsh. But in my opinion Diashapes Portable is an exception.
Maybe I could change the $SHORTNAME to DiaPortable (even if the variable is used somewhere else), but I'll have to alter the PortableApps.comInstallerPlugin.nsi anyway.
Why? I want to use the icon PortableApps.comInstallerPlugin.ico, so I comment out the lines 96 and 99-102 in the PortableApps.comInstallerPlugin.nsi.
You ask yourself why that noob doesn't define PLUGININSTALLER "true" in the PortableApps.comInstallerPluginConfig.nsh (line 121)? If I do that, the Diashapes Portable launcher won't be included in the package. So my small tweaks are necessary.

Conclusion: You don't allow to alter the installer, so the easiest decision for me is to drop Diashapes Portable. Rather no Diashapes Portable than a crappy one.

Just my 2 cents.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Can't

Even if you did alter the plugin installer, your method would NOT work with the new Platform anyway (it ignores EXEs in the root directory and uses the appinfo.ini directly, so your launcher would just be ignored by the platform).

Like I said, there is a reason that everything is setup the way it is. So developers don't go trying random things and wind up with things that don't work right. The apps, installer and platform are designed to work together and if you make a random change to one, it won't work with the rest.

Now, if you want assistance doing DiaShapes the right way, please start a new topic in the dev forum explaining what you're trying to accomplish rather than just assuming you need to create your own way or give up.

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

Bart.S
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2008-07-23 07:56
Oh John

No offense, but that's ridiculous!

  1. Even if you did alter the plugin installer, your method would NOT work with the new Platform anyway
    For me, the new Platform is a dream of the future! I haven't seen an alpha, beta or something else from the new platform. Once it is released, my packages will work with it.
    And btw., there are many other releases that wouldn't work with the new Platform too, because the included appinfo.ini is messy.
  2. Believe it or not, but you can't create a plugin/addon package including a launcher if you use the official PortableApps.com Installer. I would say this is a missing feature, I guess you would just say "That's by design".
  3. Adding a few semicolons to the offical Installer to change the program icon wouldn't break anything. Everything will work with the rest.
  4. I won't create a new Diashapes topic, because in my eyes it's perfect. Well, I altered the Installer code and I get no permission for that. Therefore I don't have functional issues, I only have legal issues, because I couldn't use your trademarks.
  5. I don't have the time for creating my own installer and I stop wasting my time with useless discussions now.
  6. I don't give up. I'll stop distributing my "illegal" Diashapes Portable. And maybe, in the future, there will be an official installer which have the features I need to create a "legal" Diashapes Portable package.
  7. Oh, and please don't say your method or apps would not work anyway again. Test my apps, look at the code and post your criticism, suggestions, wishes to my threads in the Beta Testing Forum

I apologize to you for this post. Maybe it sounds rude, I don't know. I don't want to be rude, but my apps are better than my english Smile
I still love PortableApps.com and all the apps here!

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Separate

If you really need a launcher (and you should NOT for addons... addons are additions to a main app, not a new way of starting an existing app), you will need to release it as a SEPARATE APP. The PortableApps.com Format Specification is designed like this. It really is a new app and should be treated as such even though it works with Dia and will only work with Dia next to it.

For an example of this, just look at the Private Browsing by PortableApps.com. It launches Firefox within the FirefoxPortable directory and doesn't include it in itself. Technically, you could think of it as an addon to Firefox Portable, but it is treated as a different app by the platform and spec.

I may release an optional launcher just for the Thunderbird Portable address book at some point (if I don't wind up including it as a secondary icon) for folks who want it. That will also be released as its own app in a new directory but look to the ThunderbirdPortable directory next to it.

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

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Diashapes Portable

Rather than argue in circles any further, I decided to just package it up myself to show that it can be done and to demonstrate the proper way of handling a separate app like this that interlinks with an existing one. Full details are here:
https://portableapps.com/node/16648#comment-111477

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

mark rose
Offline
Last seen: 13 years 7 months ago
Joined: 2009-02-12 18:48
Having problems, please, please help

First of all I want to say a huge thank you for PortableApps.com; this is an amazing site and I always recommend it to friends and work colleagues. I think it is fanatastic that the PortableApps.com Installer has been made available for free and free to try making your own apps. Here is the problem; I think I have done everything correctly, but then the compiler returns the following errors:
Error while loading icon from "..\..\App\AppInfo\appicon.ico": can't open file
Error in script "C:\Documents and Settings\####\Desktop\CCleanerPortable\Other\PortableApps.comInstaller.nsi" on line 100 -- aborting creation process

I have been attempting to make CCleaner portable as a test. By the way, I have never done this before (excuse my ignorance), but I am really interested in the whole process. If someone is willing to walk me through things a bit it would be much appreciated.
Am I not creating the correct folder structure?
Is it a question of not editing the .nsh file properly?
Any help or advice would be greatly appreciated.
Thanks in advance,
Mark Rose

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
PortableApps.com Format

You haven't included all of the proper files for PortableApps.com Format on which the PortableApps.com Installer depends. It's looking for the App\AppInfo\appicon.ico file it uses and it's not there. Complete details are here:
https://portableapps.com/node/12851

Also, not that you can't redistribute a repackage version of CCleaner. They don't permit it.

Welcome to PortableApps.com Smile

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

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
0.11.2

I added the ability to have the optional component be auto-selected when the user selects a non-English install. This is useful for multilingual apps where we leave off the translations on an English install but install them otherwise (GIMP, Pidgin, etc) and will reduce issues of non-English users accidentally not installing their needed language.

The trademarks and copyright were also updated.

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

TaffinFoxcroft
TaffinFoxcroft's picture
Offline
Last seen: 8 years 10 months ago
Developer
Joined: 2006-12-14 17:24
freeware and the PA.com installer

whats the status with the installer and using it with non open-source apps? some people have been asking on IRC lately about thi.

But there’s no sense crying over every mistake,
You just keep on trying till you run out of cake.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Not Yet

It's not quite ready yet but will be when we have the generator. Just finished the multilingual bits. Now finishing the downloader bits. Then the first test generator is released.

We've allowed a couple popular apps to do it already. Like Free Commander. And Mikogo. And we'd allow other publishers of popular apps directly. But we're not allowing people repackaging freeware from others yet.

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

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
0.12

0.12 fixed the Polish translation and adds Hungarian. Stub language files for translations we don't have are now included.

I've also introduced a change to versioning. From now on, the config files are versioned as 0.12.x meaning that they will work for all 0.12.* releases. When we do sub-point releases like 0.12.1, your existing configuration files will not change. We'll use sub-point releases for language additions and fixes as well as bug fixes and minor enhancements that don't impact the configuration file. This will make it easier for developers to keep up to date on the installer.

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

crazy2be
Offline
Last seen: 12 years 3 months ago
Joined: 2008-08-22 20:56
A better explenation of the optional components would help

Because i currently have no idea how the optional components are supposed to work. I would like to make my installer optionally install source files (among other things), and i am curious as to how this would be achieved.

i used the !define MAINSECTIONTITLE "AppName Portable (English) [Required]" section in the PortableApps.comInstallerConfig.nsh file to get one optional component, but i am unsure of how exactly even this component should be set up. How do i place the files in the ${SHORTNAME}Optional1\ directory so that they are later placed in the /Other/Source directory on install?

Thanks!

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Same layout

You'd place them in ${SHORTNAME}Optional1\Other\Source. So if your app was AppNamePortable, you'd place them in AppNamePortableOptional1\Other\Source

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

crazy2be
Offline
Last seen: 12 years 3 months ago
Joined: 2008-08-22 20:56
Thanks for the clarification

But how can i have multiple options? is there a way?

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Nope

It's really only meant for selecting whether or not to install localizations besides english for multilingual apps when they add a lot of install size. It may be limited to that in the future.

Source should be a separate download. Other stuff should be done as add-ons usually.

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

crazy2be
Offline
Last seen: 12 years 3 months ago
Joined: 2008-08-22 20:56
The Data directory isn't being included?

Is there any reason why the Data directory might not be packed into the installer, or, if this is the expected behavior, is there any way to get the installer to include the files in the \Data directory?

My Launcher depends on the settings in \Data\Settings.ini, and without this file, it gives the user several errors about not being about to read the file, then cannot find litestep(.exe), so it pukes and dies, killing explorer, and leaving the user with no active shell.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Expected

All apps in PortableApps.com Format are required to be able to recreate the structures they need within the Data directory if they do not exist. The installer does not include the data directory or it would overwrite an end user's settings on an upgrade.

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

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
0.12.2 - Big Localization Update

0.12.2 updates the included languages. Your current 0.12.x config file doesn't need any changes. The following languages have been added (translators listed after):

afrikaans - PollieXmas
albanian - truri
arabic - mazaya
basque - gaztelugatxe
bulgarian - orax
catalan - Fremen,jfalonso
croatian - igy
czech - jacob_opengate
danish - vkcelik
farsi - mahdiit
finnish - Kimmo
greek - DawnDeath
hebrew - DarkSlim
indonesian - msubali,cornelius,adjayanto
korean - sushizang,pakcw
latvian - Kaspars Krampis
lithuanian - waidis
macedonian - RatShot
norwegian - Saltvann
romanian - th3wildwolf
serbianlatin - mrmot
slovak - black_
slovenian - andrej72
swedish - Faffe,Patrik
thai - psisci
ukranian - AIBinas

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

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
0.12.3 Local Fixes

I just posted an update with fixes for Catalan, Serbian, Swedish, Uzbek, Spanish International. No config changes are necessary.

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

Patrick Patience
Offline
Last seen: 2 years 9 months ago
DeveloperModerator
Joined: 2007-02-20 19:26
Thanks

Thanks for fixing this up so quickly.

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
0.12.4 - Menu Refresh Hang Fix

This release fixes a hang when trying to refresh the PortableApps.com Platform 1.5 on a few systems. It properly refreshes both the 1.5 and 1.5.1 Menu. All developers are urged to update their apps to this new release. We won't be doing revisions of released stable apps for it at this point, but all other apps should be updated. The upgrade is easy as it is a drop-in replacement for any app using any 0.12.x installer.

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

dave.berk
Offline
Last seen: 12 years 6 months ago
Joined: 2009-03-19 15:52
Trying to create my first portable app - error on line 953

SectionIn: [RO]
SetOutPath: "$INSTDIR"
SectionGetFlags: 1->$0
IntOp: $0=$0&1
IntCmp $0:1 equal=MainSkipOptionalCleanup,
File: "..\..\*.*" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
/oname=outfile one_file_only)
Error in script "C:\tmp\CodeBlocksPortable\Other\Source\PortableApps.comInstaller.nsi" on line 953 -- aborting creation process

I'm a newbie at this stuff. What did I do wrong?

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
PortableApps.com Format

The installer is only for use with apps in PortableApps.com Format (PAF). Form that, it looks like there's nothing in the root directory of the app you're trying to package (which is required by PAF specs).

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

dave.berk
Offline
Last seen: 12 years 6 months ago
Joined: 2009-03-19 15:52
How do I create that file?

Thanks for the amazingly fast answer.
How do I create that file?

For example: I have the latest Codeblocks + mingw setup inside \CodeBlocksPortable\App\CodeBlocks\. I followed the guide to the letter. How do I get the \CodeBlocksPortable\CodeBlocksPortable.exe file which run it?? Is ther any program that generate it??

Thanks

John T. Haller
John T. Haller's picture
Online
Last seen: 7 min 6 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Others

You can base it on the launchers used by other apps. They're all written in NSIS, the development environment you installed to get the PortableApps.com Installer running. Or you could write your own in C++ or any language really (except .NET-based languages since they are not portable). We're going to have an easy to use generic one soon that won't require you to do this, but it's not ready yet.

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

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 7 years 3 months ago
Joined: 2007-04-15 21:08
Also please don't do Code::Blocks

as I'm putting the finishing touches on my Code::Blocks Portable which handles a shared MinGW etc. in a much more polished way than previously done in any attempts. Additionally, Code::Blocks stores its settings in a relatively complex way, which make it unlikely that you could sort it out without experience in such things. I've sorted out the best way though.

If you're looking at making launchers though, read the field guide and look at some apps - the launcher source code goes in Other\Source\AppNamePortable.nsi.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

dave.berk
Offline
Last seen: 12 years 6 months ago
Joined: 2009-03-19 15:52
I'm doing this out of necessity, I'd be glad...

I'd be glad to have someone else sort it out. Smile

Are you using the latest nightly build? will it be possible to substitute TDragon gcc build instead of the mingw one?

How long will it take you to finish?

Thanks
Dave

Panarchy
Offline
Last seen: 12 years 7 months ago
Joined: 2008-02-15 22:24
Installer - Add feature to install to more than one directory

Hello

Please add a feature to your installer that will allow for installation to more than one directory, eg; multiple USB drives.

Thanks in advance,

Panarchy

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 7 years 3 months ago
Joined: 2007-04-15 21:08
No

This can't be done at all with any installer systems. They only support a single installation directory.

And this is a feature which would be used by practically no one. So it won't happen – even if it were technically possible.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Panarchy
Offline
Last seen: 12 years 7 months ago
Joined: 2008-02-15 22:24
Hello Why wouldn't this be

Hello

Why wouldn't this be possible?

Normal installers can install to multiple directories, why not the PortableApps installer?

Hang on a second, can the Installer also install into sub-directories?

Please tell me if it can.

Thanks in advance,

Panarchy

Topic locked