ramacd wrote:
Hello Lorin;
You are correct in you assessment as to what is needed. Again, pointers to
details would be appreciated:
Thinking out loud...
. If I assume that
Stream =: make_self_extracting_exe 'j.exe';'j.dll';'profile.ijs'
creates the bytestream for the self-extracting .exe I need,
'install.exe' fileset Stream NB. ...or whatever the verb is. I'm sure it
is a !: of some sort.
Then running "install targetfolder" at the command line will give me the
files in some folder on the target machine, and invoking "j.exe" on the
command line will start my application.
Details on how to implement 'make_self_extracting_exe' would be appreciated.
Information on the format would be ideal. Even an install builder program
with a command line interface would probably do.
If you go that route - creating your own customer profile.ijs to contain
your application
and all that it needs - you are getting into a pretty big project. I've
looked into all that
and I find that it just easier to use
Inno Setup Compiler:
http://www.softpedia.com/progDownload/Inno-Setup-Download-6129.html
Below is a sample of the configuration file for this tool to pack up a J
script with necessary files
In the [Files] section you can see that I have included most everything
that comes in a J
distribution except HTML files and labs. And in this case I'm using J
5.04 but the adaptation
to 6.01 should be trivial. I have looked at trying to identify an
absolute minimal set of files
for a given script. But the space savings is small compared to the size
of j.dll. So it doesn't
seem worth it to me. This way I've got a fairly standardized package
that will be applicable
to other scripts I will publish in the future.
In the [Icons] and [Run] section the 'WorkingDir' and 'Parameters'
clauses are necessary clauses
that Inno Setup Wizard doesn't provide for.
If you use Inno Setup's wizard to build a compiler script for your app
and compare the results
to the one below I think it should be fairly clear what parts I've added
beyond what the wizard
produces.
-------------------------- cut line
----------------------------------------------------------
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=wideFGS
AppVerName=wideFGS 1.0
AppPublisher=WBS
AppPublisherURL=http://www.1wbs1589.info
AppSupportURL=http://www.1wbs1589.info/help/
AppUpdatesURL=http://www.1wbs1589.info/update/
DefaultDirName={pf}\WBS\wideFGS
DefaultGroupName=WBS
OutputBaseFilename=wideFGS-setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}";
GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\j504\j.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\j504\j.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\j504\profile.ijs"; DestDir: "{app}"; Flags: ignoreversion
;Source: "C:\j504\system\*"; DestDir: "{app}\system\"; Flags:
ignoreversion recursesubdirs createallsubdirs
Source: "C:\j504\system\main\*"; DestDir: "{app}\system\main\"; Flags:
ignoreversion recursesubdirs createallsubdirs
Source: "C:\j504\system\packages\*"; DestDir: "{app}\system\packages\";
Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\j504\system\classes\*"; DestDir: "{app}\system\classes\";
Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\j504\system\extras\config\*"; DestDir:
"{app}\system\extras\config\"; Flags: ignoreversion recursesubdirs
createallsubdirs
Source: "C:\j504\system\extras\util\*"; DestDir:
"{app}\system\extras\util\"; Flags: ignoreversion recursesubdirs
createallsubdirs
Source: "C:\j504\user\config\*"; DestDir: "{app}\user\config\"; Flags:
ignoreversion recursesubdirs createallsubdirs
Source: "C:\j504\user\fgsj.ijs"; DestDir: "{app}\user\"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\wideFGS"; Filename: "{app}\j.exe"; WorkingDir: "{app}";
Parameters: " -jijx user\fgsj.ijs"
Name: "{group}\{cm:UninstallProgram,wideFGS}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\wideFGS"; Filename: "{app}\j.exe"; Tasks:
desktopicon; WorkingDir: "{app}"; Parameters: " -jijx user\fgsj.ijs"
[Run]
Filename: "{app}\j.exe"; Description: "{cm:LaunchProgram,WideFGS}";
Flags: nowait postinstall skipifsilent; WorkingDir: "{app}"; Parameters:
" -jijx user\fgsj.ijs"
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm