Can I make my own Javelin for Windows installation kits?

Javelin for Windows and JavelinPro for Windows are supplied via a simple installation program, using the Inno Setup software (see http://www.jrsoftware.org/isinfo.php for details). This is primarily to make the process as simple as possible for end  users, but is not strictly necessary – these versions of Javelin are stand-alone exe files that require no installation – simply copy the exe file somewhere convenient and run them. If they are run with a command line argument that is a document name, they will run and open the document, so operate just like an exe version of a secure or standard PDF document.

The kit with the latest javelin.exe is available for download (http://www.drumlinsecurity.com/javelindownloads.html ). The javelin.exe file is a signed application and the kit itself is also signed.We use Globalsign as our signing authority, but others are fine – e.g. Verisign etc. Signed files are treated much more favorably by MS Windows than un-signed files, which usually result in dire warning messages from the operating system if you try and run them.

You can generate your own bespoke kits using the exe file and an installer such as Inno Setup or Installshield. The Inno Setup install script for the current release of javelin is shown below – you will see that almost all the entries are provided for ease of use and can be tailored to suit your requirements, such as installing your own userguide, using your own logo etc.. Currently the standard arrangement is for the program to be displayed in English, but we can supply customers with a text file for translation if you want support for other languages.

; Javelin stand-alone installation (Inno Setup)
[Setup]
AppName=Javelin PDF reader 2.022
AppVerName=Javelin
DefaultDirName={pf}\Javelin
DefaultGroupName=Javelin
ChangesAssociations=yes
OutputDir=userdocs:Javelin

[Files]
Source: “C:\Program Files (x86)\Javelin\Javelin.exe”; DestDir: “{app}”
Source: “C:\Program Files (x86)\Javelin\userguide.pdf”; DestDir: “{app}”
Source: “C:\Program Files (x86)\Javelin\jwlogomulti.ico”; DestDir: “{app}”

[Icons]
Name: “{commondesktop}\Javelin PDF”; Filename: “{app}\javelin.exe” ; Parameters: ” -R6 -E”   ; IconFilename: “{app}\jwlogomulti.ico”;
Name: “{commondesktop}\Javelin Userguide”; Filename: “{app}\javelin.exe” ; Parameters: “userguide.pdf” ; IconFilename: “{app}\jwlogomulti.ico”;
Name: “{group}\Javelin PDF”; Filename: “{app}\javelin.exe” ; Parameters: ” -R6 -E”
Name: “{group}\Javelin Userguide”; Filename: “{app}\javelin.exe” ; Parameters: “userguide.pdf”

[Registry]
Root: HKCR; Subkey: “.drmx”; ValueType: string; ValueName: “”; ValueData: “Javelin”; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCR; Subkey: “.drmz”; ValueType: string; ValueName: “”; ValueData: “Javelin”; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCR; Subkey: “Javelin”; ValueType: string; ValueName: “”; ValueData: “Javelin”; Flags: uninsdeletekey
Root: HKCR; Subkey: “Javelin\DefaultIcon”; ValueType: string; ValueName: “”; ValueData: “{app}\Javelin.exe,0”
Root: HKCR; Subkey: “Javelin\shell\open\command”; ValueType: string; ValueName: “”; ValueData: “””{app}\javelin.exe”” “”%1″””

[Run]
Filename: “{app}\javelin.exe”; Parameters: ” -R6 -E”; Description: “Launch application”; Flags: postinstall nowait skipifsilent