I am trying to establish a solid foolproof distribution routine and would like to share input from others so that I can make improvements.
So the application is now ready and we need to prepare it for distribution while the built in Alpha install is very good, I think that I am correct in saying that there is no option to write to the Windows registry so for this reason alone I always use Astrum Installer.
These are the steps that I presently take but would like input from others so that I can establish a solid distribution routine:
1. I always add a discreet button within the application so that if at any time the locations get moved or deleted or another program hijacks the .dlls we can always tell the user by phone how to re-register the .dlls that V9 requires without having to complete a re-install required and this is the script that I use:
prompt=ui_msg_box("Note","This action will re-register important DLL controls, continue?",36)
If prompt<>6 then
END
end if
rtime_folder=A5.Get_exe_path()
filename=rtime_folder+chr(92)+"reregister.bat"
pfile=file.create(filename,file_rw_shared)
pfile.write_line("echo")
pfile.write_line("cls")
pfile.write_line("regsvr32.exe "+chr(34)+rtime_folder+chr(92)+"a5controls.dll"+chr(34))
pfile.write_line("regsvr32.exe "+chr(34)+rtime_folder+chr(92)+"A5ContextEval.dll"+chr(34))
pfile.write_line("regsvr32.exe "+chr(34)+rtime_folder+chr(92)+"SimpleChart4Lite.dll"+chr(34))
pfile.write_line("regsvr32.exe "+chr(34)+rtime_folder+chr(92)+"Codejock.PropertyGrid.v11.1.3.ocx"+chr(34))
pfile.write_line("exit")
pfile.flush()
pfile.close()
if file_exists(filename) then
sys_open(filename)
ELSE
ui_msg_box("Note","File not found")
End If
2. Add ‘license.key’ text file into the dbase folder (I also write it to the registry but I'm not certain of the ideal procedure or the outcome)
3. Compact the dbase and then assign table password then encrypt the tables.
4. Compile the scripts and functions to the default path then export the scripts and functions to a custom location.
5. Delete ALL scripts and functions
6. I now create the install using a pre-saved Astrum file taking care to register the above .dlls by using the ‘Advanced’ option and placing the App and Runtime in separate folders within the default folder. I no longer create a startup file or shortcut since reading Cal Locklin’s thread on how to create the shortcuts from within Astrum.
(I personally always now name the engine as V9Runtime so that the ‘V’ will always be below my apps alphabetically in the tree, I have proved that some versions of Vista will not print or preview reports without a load of error message appearing if the engine is situated above the App. I know some people will disagree but I have proved this and can force/unforce the error messages by moving the location of the engine)
I have these questions that I hope others can make clear:
1. Does any one know of a method to remove ALL scripts and functions other than right clicking and deleting one by one?
2. Alpha states that if loading on to Vista OS, the Vista UAC control must be turned to ‘Off’, I would like to hear of other Runtime distributor’s experiences.
3. When using Option ENCRYPTED_TOKENS function to protect ALL scripts, is this OK to have in only one of the compiled scripts or does it need to be in each compiled script?
Michael
www.instantnurserymanager.co.uk
So the application is now ready and we need to prepare it for distribution while the built in Alpha install is very good, I think that I am correct in saying that there is no option to write to the Windows registry so for this reason alone I always use Astrum Installer.
These are the steps that I presently take but would like input from others so that I can establish a solid distribution routine:
1. I always add a discreet button within the application so that if at any time the locations get moved or deleted or another program hijacks the .dlls we can always tell the user by phone how to re-register the .dlls that V9 requires without having to complete a re-install required and this is the script that I use:
prompt=ui_msg_box("Note","This action will re-register important DLL controls, continue?",36)
If prompt<>6 then
END
end if
rtime_folder=A5.Get_exe_path()
filename=rtime_folder+chr(92)+"reregister.bat"
pfile=file.create(filename,file_rw_shared)
pfile.write_line("echo")
pfile.write_line("cls")
pfile.write_line("regsvr32.exe "+chr(34)+rtime_folder+chr(92)+"a5controls.dll"+chr(34))
pfile.write_line("regsvr32.exe "+chr(34)+rtime_folder+chr(92)+"A5ContextEval.dll"+chr(34))
pfile.write_line("regsvr32.exe "+chr(34)+rtime_folder+chr(92)+"SimpleChart4Lite.dll"+chr(34))
pfile.write_line("regsvr32.exe "+chr(34)+rtime_folder+chr(92)+"Codejock.PropertyGrid.v11.1.3.ocx"+chr(34))
pfile.write_line("exit")
pfile.flush()
pfile.close()
if file_exists(filename) then
sys_open(filename)
ELSE
ui_msg_box("Note","File not found")
End If
2. Add ‘license.key’ text file into the dbase folder (I also write it to the registry but I'm not certain of the ideal procedure or the outcome)
3. Compact the dbase and then assign table password then encrypt the tables.
4. Compile the scripts and functions to the default path then export the scripts and functions to a custom location.
5. Delete ALL scripts and functions
6. I now create the install using a pre-saved Astrum file taking care to register the above .dlls by using the ‘Advanced’ option and placing the App and Runtime in separate folders within the default folder. I no longer create a startup file or shortcut since reading Cal Locklin’s thread on how to create the shortcuts from within Astrum.
(I personally always now name the engine as V9Runtime so that the ‘V’ will always be below my apps alphabetically in the tree, I have proved that some versions of Vista will not print or preview reports without a load of error message appearing if the engine is situated above the App. I know some people will disagree but I have proved this and can force/unforce the error messages by moving the location of the engine)
I have these questions that I hope others can make clear:
1. Does any one know of a method to remove ALL scripts and functions other than right clicking and deleting one by one?
2. Alpha states that if loading on to Vista OS, the Vista UAC control must be turned to ‘Off’, I would like to hear of other Runtime distributor’s experiences.
3. When using Option ENCRYPTED_TOKENS function to protect ALL scripts, is this OK to have in only one of the compiled scripts or does it need to be in each compiled script?
Michael
www.instantnurserymanager.co.uk
Comment