Open Contacts is an advanced address book program for managing contact info of individuals and organizations with relationships. Distributed as freeware, the program was designed for people who need more beyond ordinary address book programs in order to improve dynamic interactions with contacts.
Please check http://www.fonlow.com/opencontacts/Download.htm
Please note, this package (http://www.fonlow.com/opencontacts/download/oc6portableapp.zip) was made by the developer of Open Contacts, and is different from the one announced at https://portableapps.com/node/24792.
Thanks for starting off the PortableApps.com Format version of your app. It was missing a few things to be a fully formed app in PA.c Format, though. I cleaned up the AppInfo, renamed your help file, added your license to be shown to the user during install and redid your icon for you from the one in your Help - About window so it's a good-looking 48, 32 and 16px icon (feel free to use it in your app itself as well). I couldn't quite get the 128px version as will be shown on the site, but I got it close. You can grab the fully packaged version here:
https://portableapps.com/temp/OpenContactsPortable_6.1.3.716.paf.exe
You can make this available on your own site. I haven't tested it for full portability yet, but it looks good on an initial check. Once you've hosted it yourself and someone else double-checks it for portability and compliance, we can post it here on PA.c in our directory.
Sometimes, the impossible can become possible, if you're awesome!
Thanks, John.
I downloaded the paf.exe file and found that the Data directory is almost empty, which OC uses as a working directory for database and linked files. Since the working directory has no valid content, when launching OC you will see only a dialog for creating a new working directory. However, this function does not make sense to a portable application.
So I remade the package with the following changes:
1. main.ini in the working directory has DisableCom=1, in order to make OC start without being a COM server.
2. Remove Dataset directory which contains some blank db files.
3. Use the AppIcon.ico file made by John. And include AppIcon_48, 64 and 128 not included in AppIcon.ico.
4. Copy the Other directory made by John.
Please download the zip file and remake the paf.exe file. Cheers.
ITs empty on purpose as the files in it would overwrite the users data if someone updates his program to a new version. Thats why these files should be inside /App/DefaultData. Whatever is in here will be copied to /Data if /Data is empty.
"What about Love?" - "Overrated. Biochemically no different than eating large quantities of chocolate." - Al Pacino in The Devils Advocate
Basically OpenContacts.exe in the ProgramRoot is a proxy program (size 43KB) which launch the real OpenContacts.exe through the following codes:
var
Exename, ExePath : string;
begin
Exename := ParamStr(0);
ExePath := ExtractFilePath(ExeName);
ShellExecute(0, PChar('open'), PChar( ExePath+'app\program\OpenContacts.exe'), '', PChar(ExePath+'data'), 1);
end.
So the working directory must have a set of data when this proxy program run.
I just added ProgramRoot\App\DefaultData with a set of data inside while ProgramRoot\data is empty. When launching OC from PortableApp Start Menu, it seemed the Start Menu (the launcher) did not copy any from DefaultData to Data.
Anything did I miss?
It's the launcher's job (your proxy program in your instance) to create Data and copy the stuff from DefaultData if it is not there. Data is specifically blank on install so it doesn't overwrite a users existing data on upgrades. And so a user can basically 'reset' an app to defaults simply by deleting the Data directory.
You can actually use our PA.c Launcher to do this. It requires no coding, just filling out an INI file. Your INI would be called OpenContactsPortable.ini and contain:
[Launch]
ProgramExecutable=Program\OpenContacts.exe
WorkingDirectory=%PAL:DataDir%
Your generated launcher in the above case would be OpenContactsPortable.exe (so it doesn't conflict with OpenContacts.exe) and you'd need to update your appinfo.ini accordingly. If you need a hand, let us know and one of us will generate the launcher and updated package for you.
Sometimes, the impossible can become possible, if you're awesome!
Dont forget the % at the end:
It should be WorkingDirectory=%PAL:DataDir%.
"What about Love?" - "Overrated. Biochemically no different than eating large quantities of chocolate." - Al Pacino in The Devils Advocate
After considering hints from John and Simeon, I made this package for PortableApps.
So now OpenContacts.exe (the real one) will check if the working directory (if not the same as the program directory) is empty, then copy needed data from Program\Dataset to the working directory (ProgramRoot\Data). I do not use DefaultData suggested by Simeon because Dataset serves the same purpose, and Dataset is also used for creating new working dir (not applicable for porbable apps).
Please download http://www.fonlow.com/opencontacts/download/oc6portableapp.zip
and see if it fits all key criteria of PortableApps.
By the way, I would like to outline the difference between the portable and the standard:
The portable edition has the following features absent by design though the exe and dll files are the same:
1. The SyncML synchronization function
2. Being used as a COM server
3. Create a new working directory with a blank address book.
There are other features which might not make sense to a portable address book program, though there's nothing to stop you from utilizing them:
1. Use remote database in LAN
2. Launch through a program shortcut with the start-in directory as the working directory
3. Change the default location of linked files
Unless your app is packaged in PA.c Format, which involved packaging it in a PA.c Installer as a .paf.exe file, it can't be listed on PortableApps.com. If you're basing it off my previous work, all you need to do is download the PortableApps.com Installer from the Development section and run it and point it to your app's base directory (OpenContactPortable).
Sometimes, the impossible can become possible, if you're awesome!
Easy, so done. Please check
http://www.fonlow.com/opencontacts/download/OpenContactsPortable_6.1.5.7...