This is an Inno Setup script library that allows you to easily create Inno Setup installers to distribute your Palm applications and conduits. It features:
The use of this script is best shown by example. Here is a complete setup script that installs a Palm app with a conduit written in Java.
[Setup] AppName=MyApp AppVerName=MyApp 1.0 AppPublisher=MyName AppPublisherURL=http://www.example.com/ AppSupportURL=http://www.example.com/ AppUpdatesURL=http://www.example.com/ DefaultDirName={pf}\MyApp DefaultGroupName=MyApp #define BUNDLE_JAVA_SUPPORT #undef BUNDLE_COM_SUPPORT #define CDK_PATH "C:\PalmDev\CDK403" #include "PalmConduit.iss" [Files] Source: "MyAppConduit.jar"; DestDir: "{app}"; Flags: nocompression Source: "MyApp.prc"; DestDir: "{app}" ; Java Conduits Only: How to install a support jar needed by your conduit: Source: "some.jar"; DestDir: "{code:PalmHotSyncDir}\JSync\1.3\rt\lib\ext\"; Flags: nocompression uninsneveruninstall [Icons] ; An icon to allow manual installation of your Palm app after setup Name: "{group}\Install MyApp on Palm"; Filename: "{code:PalmHotSyncDir}\Instapp.exe"; Parameters: "{app}\MyApp.prc" [Code] function InitializeSetup(): Boolean; begin Result := PalmInitializeSetup(); end; procedure InitializeWizard; begin { Put the Palm user selection wizard page after the task selection page (i.e. just before the Ready page): } PalmInitializeWizard(wpSelectTasks); end; procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssPostInstall then begin { Java: Registers the conduit: } PalmInstallJavaConduit('CrId', CONDUIT_APPLICATION, 'com.example.MyAppConduit', ExpandConstant('{app}\MyAppConduit.jar'), 'MyApp', '', '', '{#SetupSetting("AppName")}', 2); { COM: Registers the conduit: } {PalmInstallCOMConduit('CrId', CONDUIT_APPLICATION, ExpandConstant('{app}\MyAppConduit.exe'), 'MyApp', '', '', '{#SetupSetting("AppName")}', 2);} { Queues the Palm application for installation on the selected users Palms: } PalmInstallApplication(ExpandConstant('{app}\MyApp.prc')); end; PalmCurStepChanged(CurStep); { must be last } end; function InitializeUninstall(): Boolean; begin Result := PalmInitializeUninstall(); end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usUninstall then begin PalmUninstallConduit('CrId'); end; PalmUninstallStepChanged(CurUninstallStep); { must be last } end;