InstallScript. What impact on the target machine?
Posted 28 February 2006 - 16:49
Can someone please explain what impact has writing CA in InstallScript, VBScript or JScript using InstallShield. I suspect that probably the target machine needs to have the corresponding engine installed but I can't find any documentation on the web.
I have written a lot of CA with InstallScript as I am converting an already existing app from an InstallScript project to an MSI, but I'd like to make my APP quite standard, I mean I'd like the msi worked also on machine where no previous InstallShield setup has run, what I need to include in my setup to get that avoiding to translate all the scripts in VBScript (which should always be enabled on the target machine)?
Posted 28 February 2006 - 18:41
The best way is a DLL written in C. This has the least overhead, least dependencies and is most robust.
Posted 28 February 2006 - 18:51
I'd like to take the overheads off of my setup but I find very quick (I have an impossible deadline) to write CA in InstallScript but I suppose I have to add the "InstallShield scripting engine ver ...." (merge module) to my redistributable do I? Which add other overheads, but I can change the scripting at a later stage.
Why the dll's have to be in C? What about Delphi?
Posted 28 February 2006 - 21:13
I'm not too familiar with Delphi. You will need a DLL that exports callable functions, so DLLs created with VisualBasic for instance won't work because they are really ActiveX.
Posted 28 February 2006 - 21:33
When choosing Windows Installer DLL, you need translated headers of Msi.h, Msiquery.h etc. Project Jedi has these in the Platform SDK project. Every exported function in your DLL should look like:
function MyFunction(hInstall: MSIHANDLE): UINT; stdcall;
Note the parameters and the calling convention.
Posted 01 March 2006 - 11:13
I am quite familiar with Delphi, not much in C or C++. Problem is you need an extra compiler anyway and I suppose debugging is going to be more difficult I appreciate that this take off several scriptin overheads.