You are here

New implementation of Gnucash Portable in beta

37 posts / 0 new
Last post
Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
New implementation of Gnucash Portable in beta

NOTE: GnuCash Portable has been updated to use GnuCash 2.2.2. A new post has been created for the next phase of development: https://portableapps.com/node/10633.

I have released a new implementation of Gnucash Portable, available at http://gnucashportable.sourceforge.net. The previous implementation by IllusionofDemise did not work consistently for me and the source site has recently gone down for several weeks so I decided to rewrite it from scratch using the latest launcher for Firefox Portable as a base. All features of Gnucash 2.2.1 are supported (as far as I know) including aqbanking (if you have activeperl installed) for online banking support. I personally use Gnucash for my finances so I will definitely be active on this project in order to keep it up to date.

One thing I was not too concerned about when creating this is size, since USB drive capacities are ever increasing and prices ever decreasing. The install is just over 200MB. If there is sufficient interest in reducing this I will play with compressing the Gnucash binaries.

11/30/2007 - 0.1.5
- Fixed bug where local temp files were not being deleted after running locally.
- Added PerlPath to ini options to specify the path to the Perl binaries, needed for
online banking support. By default the path is set to 'C:\Perl\bin'.
- Reworked how PATH environment variable is used. Existing path is no longer prepended
to the Gnucash binary paths. Instead the path is overwritten with the Gnucash binary
paths and the Perl binary path. Use of the PerlPath ini option is necessary to
enable online banking support if Perl binaries are not located at C:\Perl\bin.
This fixes the following two bugs:
- Fixed bug with PATH environment variable being set to null when the existing path
contained quotes. This was causing Gnucash to fail to execute on affected systems.
- Fixed bug with PATH environment variable being truncated when the existing path is
near the maximum PATH size (1024/2048 bytes).
- Added localization strings to launcher. English only for now.
- Cosmetic changes to launcher source to reflect changes in latest PAF sources
(modelled after Firefox Portable 2.0.0.10).

11/26/2007 - 0.1.4
- Fixed bug with Win2k liborbit fix. Non-win2k OS will now no longer use the older
liborbit files.
- Changed TMP directory to PROFILEDIRECTORY\Temp. This directory is now removed on
exit.
- Changed launcher to wait for gconfd-2.exe to exit before cleaning up since it
hangs around after gnucash-bin.exe exits and has temp files locked.
- Added environment variables check to debug log
- Updated findprocDLL to newest version. Old version was used in previous binaries
and would not properly detect running processes due to different return values.
- Updated App\AppInfo\appinfo.ini to version 0.9.8.
- Changed installer and updater to use App\AppInfo\appicon.ico as icon. Removed
installer.ico from source.

11/15/2007 - 0.1.3
- Added registry entry handling for aqbanking & gwenhywfar. These are HKLM keys,
so they require admin access. Online banking wizard should work correctly now if
you have admin rights. If you do not have admin rights Gnucash will run fine,
only some online banking features will not work.
- Changed Wait & Admin warnings to mention online banking dependencies.
- Added version check to "intelligent start". Fixes are re-applied if version has
changed since last run.
- Combined GnucashPortableSource & GnucashSource folders to a single Source folder.
- Changed program icon to one with 16, 32 & 48 sizes.
- Fixed typos in Readme.txt.
- Changed installer source to look in separate folders under "Files" for
PortableApp and App files in preparation for a separate updater.
- Added "updater" source which is basically an installer that doesn't include the
App files. This allows distribution of a 360KB update rather than a 39MB full
install when a new PAF release does not contain an updated version of the App.
- Added help.html and related files.

11/12/2007 - 0.1.2
- Added launcher status logging. On by default during beta. Log saved to EXE
directory as LauncherLog.txt

11/9/2007 - 0.1.1
- Added option to continue running when Gnucash registry entries are discovered and
user has no admin rights to disable them.
- UPXGnc.cmd script added in source directory. When complete this script will
compress all exe and dll files in the Gnucash binary directories. Currently
causes crashes as not all files have been found that don't work correctly when
compressed. This script does not run automatically, and requires an external
download of UPX.exe.

11/9/2007 - 0.1
- First beta release.
- Utilized Gnucash 2.2.1

Kim_Wood
Offline
Last seen: 11 years 1 week ago
Joined: 2007-09-20 01:43
Won't Run - Admin Rights Issue with Previous Install

Rayven01,

Thanks for having a go, but I can't get it to run on a computer that has an existing non-portable version concurrently installed where the user doesn't have admin rights.

The following error message appears:

"A previous install of the non-portable GNUCash has been detected... blah blah"

Try it out yourself - you will see what I mean. Seems to be fine on a machine where the user has admin rights. Probably a fatal problem for any of us that want to run portable GNUcash on our work machines.

BTW, I can successfully install and run a non-portable version on this machine, as well as installing and running both IllusionofDemise's latest beta and ReneL's multilingual beta. Yours throws up the error message.

Close. Give it a tweak. Like you, I like GNUCash. As I have said to IllusionofDemise, I am sure that there will be strong demand for a robust portable solution.

Kim

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: Won't run...

Unfortunately this is a limitation of the Gnucash implementation. A non-portable install of Gnucash will install registry entries in HKLM for path information, etc. If those entries exist, it will use them over any environment variable settings. The reason the beta from IllusionofDemise works is because it doesn't check for these entries, it just starts up and begins using those paths. Data will most likely not be saved on the portable device, unless you installed the non-portable version on the portable drive. Even then it may not be saved in the data directory of the portable version. In practice I suppose this may not matter too much since you save your financial data file wherever you want, which means the only data you may be missing is program preferences etc.

My version checks for these entries and tries to handle them gracefully if you have admin rights, otherwise it aborts so that data does not get saved to the local machine. I could change that behavior so that it only warns you and continues to run anyway...

Is there a reason you would want to keep the non-portable version installed if the portable version works without it?

Edit:
New version available that allows you to continue running with a warning that the registry paths may be used.

formerly rayven01

Kim_Wood
Offline
Last seen: 11 years 1 week ago
Joined: 2007-09-20 01:43
Tests O/K

Rayven01,

I have not exhaustively checked the new beta 1.1 version, so cannot comment on any compression related bugs. Thanks for fixing the issue I raised about conflicts due to existing non-portable installs. It works fine. I believe that the most conservative option (ie: let the portable program run - but warn about potential conflicts on start-up) is the correct choice. The user should ultimately decide whether to run & risk losing some preference choices - not the programmer.

Anyway, you have done good work. Thanks again.

Kim.

PS: I hope you maintain your interest in Portable Gnucash & keep those versions coming.

Kim

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: Compression bugs

The compression script (UPXGnc.cmd) has to be run manually after install, so there should be no bugs unless you run it. It also requires that you enter a path to an externally downloaded UPX.exe so it won't even run by accident.

formerly rayven01

ant_
Offline
Last seen: 12 years 3 months ago
Joined: 2007-10-10 12:40
gnucash calling home?

i just began to run 1.1 beta portable gnucash (the latest) then Norton popped up, reporting that GnuCash portable was trying to communicate via the internet. That has never happened before when i fired up a PA. Should this be like that?
Ant

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE; Calling home

If you have perl installed Gnucash will automatically attempt to download current stock quotes from the internet.

formerly rayven01

ant_
Offline
Last seen: 12 years 3 months ago
Joined: 2007-10-10 12:40
gnucash calling home

to my knowledge i do not have perl installed. but even if i DID have perl installed, would that mean i had to know that i was going to download stock quotes? I might not want to do that, anyway. And I am in a place where internet comes in by the byte not by the kilobyte. I can`t afford to download stock quotes, because it takes forever, nor can i afford to buy any. and to be honest, i woud like to have choices about my internet behaviour.

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: calling home

Actually I was mistaken, it doesn't download quotes at startup. It just does a check to see if aqbanking (the online banking library) works and can connect to the internet (if it doesn't, online banking features are grayed out). You might ask on the Gnucash mailing list about the specific behavior, as I'm not a Gnucash developer myself.

formerly rayven01

RustyMuppet
RustyMuppet's picture
Offline
Last seen: 9 years 10 months ago
Joined: 2007-03-02 05:44
Doesnt run for me

I can run the app directly from App/bin and it works, but doesnt run from the paf exe. Running it directly i get the tips pop up and the dialog to create/import/tutorial comes up.

I dont have any accounts set up if that has anything to do with it.

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: doesn't run

I assume by "run directly" you mean running GnucashPortable\App\Gnucash\bin\gnucash.bat? And by paf exe you mean GnucashPortable\GnucashPortable.exe? When you run the latter does it show the splash screen (should say Gnucash Portable), or nothing at all? No message boxes of any kind indicating errors/warnings? Anything special about your setup? (non-portable gnucash already installed? Admin or no admin rights? Other portable apps installed and working correctly on the same drive?) The more info I have the better the chance to diagnose the problem. Smile

Having no accounts should be fine. I tested the release with and without a data file.

You can also contact me via sourceforge: http://sourceforge.net/users/rayven01/.

formerly rayven01

RustyMuppet
RustyMuppet's picture
Offline
Last seen: 9 years 10 months ago
Joined: 2007-03-02 05:44
Yes to the above on starting Gnucash

I get the splash screen, then nothing. Watching the process in 'Sysinternals Process Explorer' I see the process start, turn red and then disappear. No errors/warnings.

The screen does appear to flash as the process ends, but i can find nothing to let me know what is going on.

The previous beta worked. I installed this over the last one with problems as stated. So I deleted and reinstalled. Same problems.

I have admin rights and run many other portable apps. At a bit of a loss on this one. Is there anything i can do that will give you more information?

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: doesn't run

Ok, the comment that the previous beta worked tells me that it may be a problem with the necessary fixes not being in place. Try copying the example GnucashPortable.ini to the GnucashPortable directory, and change "DISABLEINTELLIGENTSTART" to true for at least one run. It's possible if you did some profile copying that the fixes did not get applied correctly, even after delete/reinstall.

I may remove the feature to skip the fixes completely since there's a lot of potential for problems upon reinstall/update and the fixes really don't take much time anyway. Maybe if I just add a version check as well, to automatically re-do the fixes after an update...

formerly rayven01

RustyMuppet
RustyMuppet's picture
Offline
Last seen: 9 years 10 months ago
Joined: 2007-03-02 05:44
That didnt work

I ran gnucash.bat and it worked. If i run gnucash-bin.exe (which from your log it looks like you run) I get the following error:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Unable To Locate Component

This application has failed to start because libgncmod-engine.dll was not found. re-installing the application may fix this problem.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

I can see this dll in G:\PortableApps\GnucashPortable\App\Gnucash\lib\gnucash directory, so is it a path issue (which the .bat file seems to set up but isnt called)?

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: That didn't work

The PAF launcher is basically a replacement for the gnucash.bat file, so it isn't used. The same environment variables that are set in gnucash.bat are set by the launcher before it calls gnucash-bin.exe. If you want to email your LauncherLog.txt file to rayven01 at users.sourceforge.net I'll take a look and see if I can figure anything out from that.

formerly rayven01

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: That didn't work

Beta 1.5 fixed this problem.

formerly rayven01

abeckstrom
Offline
Last seen: 14 years 5 months ago
Joined: 2006-09-08 10:45
Gnucash Portable on Lifehacker!

Looks like you've hit the big times! Lifehacker has early praise for Gnucash Portable.

Ryan McCue
Ryan McCue's picture
Offline
Last seen: 14 years 6 months ago
Joined: 2006-01-06 21:27
Signature

You need to remove the link from your signature. Add it as your homepage if you wish.

"If you're not part of the solution, you're part of the precipitate."

BuddhaChu
BuddhaChu's picture
Offline
Last seen: 7 years 5 months ago
Joined: 2006-11-18 10:26
Just an FYI but...

Lifehacker is repeating/linking to a story on another website...the originator of the article (downloadsquad.com).

http://www.downloadsquad.com/2007/11/11/portable-version-of-gnucash-beta...

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

Ryan McCue
Ryan McCue's picture
Offline
Last seen: 14 years 6 months ago
Joined: 2006-01-06 21:27
I'll take a look

I'll take a look to make sure it's all properly PAFed and the launcher is good.

Edit:

  • The launcher is a bit complicated. You may want to remove some of it, especially the logging.
  • Don't include data files within Data\, put them in App\DefaultData and have the launcher copy them if needed.
  • The latest version of the appinfo.ini is 0.9.7, you may wish to update this
  • No need to have GnucashPortableSettings.ini in DefaultData, the launcher should generate one by itself
  • No help.html (trivial)
  • ;Based on launchers by John T. Haller of PortableApps.com
    ;and IllusionofDemise of SageMedia.net
    needs to be changed to ;Copyright 2004-2007 John T. Haller of PortableApps.com
    ;Copyright 2007 IllusionofDemise of SageMedia.net
  • VIAddVersionKey LegalCopyright "Shawn Faucher" should be VIAddVersionKey LegalCopyright "PortableApps.com and contributors"

"If you're not part of the solution, you're part of the precipitate."

ant_
Offline
Last seen: 12 years 3 months ago
Joined: 2007-10-10 12:40
calling the bank?

sorry ryan, I am a bit late; you already looked at it.
still: i can reproduce the attempt to connect to the internet. the files that do that are called gconfd-2.exe and gnucash-bin.exe
thanks a lot; i think this is a great program!

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: I'll take a look
  • The launcher is a bit complicated. You may want to remove some of it, especially the logging.

    • I am a fan of more options over brevity. If you don't want to use them, the default options are fine, but I would rather have them available since the change in launcher size is negligible. Logging is only turned on by default during beta to help in diagnosing problems. In the production version this will be turned off. Also the log file is overwritten on each launch, and currently is only about 2K in size.
  • Don't include data files within Data\, put them in App\DefaultData and have the launcher copy them if needed.
    • This is already the case; There are currently no files in Data\ until after the launcher is run...
  • The latest version of the appinfo.ini is 0.9.7, you may wish to update this
    • I'll look into that.
  • No need to have GnucashPortableSettings.ini in DefaultData, the launcher should generate one by itself
    • First I have too much in the launcher, now not enough? Smile I could certainly do it that way, I just didn't see much of a benefit...
  • No help.html (trivial)
    • Definitely on my list to correct before beta ends.
  • (copyright info)
    • Thanks, I'll be the first to admit I'm not up to speed on copyright law. If it's legal to leave most of the PortableApps.com info (in CompanyName, LegalTrademarks, etc) I would just as soon do that. I made up my own info because I thought it would not be legal to include PA.com info in a work not released by PA.com. Any further guidance there is welcome.

formerly rayven01

Patrick Patience
Offline
Last seen: 4 years 3 months ago
DeveloperModerator
Joined: 2007-02-20 19:26
Further Guidance
  • The two source directories AppNamePortableSource and AppNameSource are now being merged into one folder called Source.
  • Settings usually go under 'Data\settings\' so maybe modify your default data folder to reflect that, and any source code changes necessary.
  • And these are just gonna sound like I have some problem. Blum Your equal underlines in the Readme should go past the header name, and make sure all the Headers are all capitals (probably from a find and replace)

Also, use the icon in Gnucash\share\gnucash\pixmaps instead, as it's much nicer, and use the GIMP or IcoFX or whatever you prefer to make it have a 16, 24, 32, and 48 size icon or both 32 and 256 bit formats.

I'll look for a high-res logo for the official splash if that ever comes.

But yeh, it's workin' good for me. I hope to see this one added here, good job.

BuddhaChu
BuddhaChu's picture
Offline
Last seen: 7 years 5 months ago
Joined: 2006-11-18 10:26
I already deleted the

I already deleted the download so I can't got look for myself, but don't forget to add in an \Other\Source\readme.txt file if you don't have one. I'm guilty of this too as I REALLY hate typing.

This is "trivial" like the help.html file listed above.

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

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
Beta 1.3 Released

Beta 1.3 has been released. This release is in the form of an update, which does not contain the Gnucash files to reduce size since they haven't changed. It must be installed over a previous full install release.

formerly rayven01

Patrick Patience
Offline
Last seen: 4 years 3 months ago
DeveloperModerator
Joined: 2007-02-20 19:26
Thank You!

I have a slow internet connection, thanks!

Edit: Good, it looks good. By the way, ZGitRDun8705 found this page after I figured out who made the icon where Hylke Bons, one of the Tango icon artists sent the GNUCash logo to the developers, you can download more higher res' for the splash screen there. Be sure to download the tar.gz and extract with something like 7-Zip.

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
Beta 1.4 Update Released

Fixed two bugs (liborbit fix and findprocdll), changed TMP folder location/behavior and made a few cosmetic changes.

formerly rayven01

paulf
Offline
Last seen: 2 months 3 weeks ago
Joined: 2007-10-17 13:28
Works on One Machine Not the Other

This is in line with some comments by others. When I run GNUCash portable on my home machines (one a dual core laptop, the other a 3.2GHz Pentium 4 desktop) where I am "the administrator" it runs fine.
I'm trying it now at work where I just have user status and the Flashscreen comes up, then nothing. Going into the Task Manager I see gconfd-2.exe (2 instances), gnucash-bin.exe, and GnuCashPortable.exe loaded but "no action."

I'll try later re-logging into my office machine as the administrator and will tell you if anything changed.

Paul Farber

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
Try 1.5

Try the 1.5 update, it should fix the problem. Your path on that system probably contains quotes or is near the maximum size.

formerly rayven01

paulf
Offline
Last seen: 2 months 3 weeks ago
Joined: 2007-10-17 13:28
Try 1.5

I tried the 1.5 update same result, i.e. splash screen appeared, programs showed up in the running processes but no "active" GNUCashPortable. I suspect that GNUCash portable may be trying to access something that our network security "doesn't like."
We run a very secure network and some programs do not play well together.
Is GNUCashPortable attempting to access a trusted zone or gain internet access without operator permission?

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: Try 1.5

Gnucash does sometimes hit the internet without asking permission during startup, so if you have restrictions against that it is most likely the root of your problem. I did some hunting on the subject in the Gnucash bug reports and it appears to be possibly caused by a bug in liborbit where communication that is supposed to be directed to localhost is instead pointed to seemingly random IP addresses. Unfortunately that's not something I can fix since it's not caused by the launcher, but the orbit folks are working on a fix and I expect Gnucash 2.2.2 should have it incorporated.

formerly rayven01

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
Beta 1.5 Update Released

Several bugs fixed, most involving the PATH environment variable. For those that had trouble with the launcher coming up but Gnucash failing to start, this should fix the problem.

formerly rayven01

paulf
Offline
Last seen: 2 months 3 weeks ago
Joined: 2007-10-17 13:28
Path a Slight Problem

I installed Beta 1.5 and have been getting to know GNUCash. As long as I keep it away from my office machine where our firewalls prevent it from running its fine. One slight problem I have encountered is when moving from one machine to another the saved file has the full path saved (i.e. E:\PortableApps\...).
If the machine I've moved to assigns a different drive letter to PortableApps then I have to browse to find my data files since GNUCash is still trying to find the old drive letter.
Not a big bug, merely a gnat.
Paulf

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: Path a Slight Problem

Good catch. Gnat will be squashed in the next version. It will automatically replace the old profile path with the current one in the appropriate settings file on startup. This will also fix a related bug where if you moved your profile from the default location and changed the ProfileDirectory ini setting to match, the same thing would happen.

formerly rayven01

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
Release Candidate approaching

I'm taking the lack of posts recently to mean that most of the bugs have been smashed (I still use the program daily on 4 different computers with no issues). Pending any new bug reports in the next day or two the next version with the fix to the login account will be RC 1.

formerly rayven01

Kim_Wood
Offline
Last seen: 11 years 1 week ago
Joined: 2007-09-20 01:43
Can you update to 2.2.2 stable release?

Rayven01,

I think you are on the money. It appears to be very stable. I also use it daily on home and work computers since you released it, and have no problems at all. Are you able to update to the new stable release 2.2.2?

Kim

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 14 years 7 months ago
Developer
Joined: 2007-10-23 22:14
RE: 2.2.2

Absolutely; I hadn't realized they'd updated it yet. Looks like they patched liborbit to possibly fix the 'call home' problem. Guess we'll be having another beta or two to test that out...

formerly rayven01

Log in or register to post comments