OI and InstallShield (General)
At 14 JUL 2006 11:53:28AM Jody - Clinical Data Management wrote:
I've recently setup our first install using InstallShield and it works great. I'm now trying to modify the install to automatically run some oinsight programs. I know this can be done through a dll, though I'm having trouble with which one and how. Any guidance or example is appreciated.
Thanks,
Jody
At 14 JUL 2006 02:03PM Kevin Fournier wrote:
The DLL you want to use is RDKINSTP.DLL. Prototype any one of it's five methods as noted below:
prototype INT RDKINSTP.StartOI( HWND, LPSTR, LPSTR, LPSTR, LPSTR ); prototype INT RDKINSTP.StartOIPanel( HWND, LPSTR, LPSTR ); prototype INT RDKINSTP.RunOICommand( HWND, LPSTR ); prototype INT RDKINSTP.RunOICommandPanel( HWND, LPSTR ); prototype INT RDKINSTP.ShutdownOI();Use StartOIPanel and RunOICommandPanel if you want to show a progress bar. The non-panel one's perform the same operations without an interface. Here's some sample code I use to run an RDK.
SdShowMsg( "Installing RDK...", TRUE ); ChangeDirectory(TARGETDIR); UseDLL(SUPPORTDIR + "rdkinstp.dll"); hWnd=GetWindowHandle(HWND_INSTALL); // build the RDK path svRDKPath=TARGETDIR ^ "SRP RDK"; // start the engine svTarget=TARGETDIR; nResult=StartOI( hWnd, &szApp, &svTarget, &szUserName, &szPassword ); // set the App if( szApp != "SYSPROG" ) then svCommand=RUN SETAPPID \"" + szApp + "\""; nResult=RunOICommand( hWnd, &svCommand ); endif; // run the RDK svCommand=RUN RDKINSTALL \"" + svRDKPath +"\""; nResult=RunOICommand( hWnd, &svCommand ); // stop the engine nResult=ShutdownOI(); UnUseDLL("rdkinstp.dll"); // delete the temporary rdk DeleteDir( svRDKPath, ALLCONTENTS ); SdShowMsg( "", FALSE );You'll want to include the RDKINSTP.DLL in your support files, so it will be available to use.
At 14 JUL 2006 03:58PM Jody - Clinical Data Management wrote:
Thanks Greatly,
Jody
At 15 JUL 2006 08:01AM Gerald Lovel wrote:
You may wish to look at the NSIS Scriptable Installer System, which is a vast improvement over InstallShield. (It produces a single-file downloadable executable.)
At 18 JUL 2006 09:54AM [email protected]'s Don Bakke wrote:
Gerald,
…a vast improvement over InstallShield. (It produces a single-file downloadable executable.)
I'm puzzled over this comment. While there are arguably better installation programs (depending on what you are trying to do), InstallShield create a single-file downloadable executable.