Hi

We are already using installshield 6.3 and evaluating various options to upgrade to a new cross platform devlopment software for building our installer.

We are already using a C++ DLL having lot of functionality by loading the same and its functions from within the Installshield scripts.

Would like to know if we still can reuse with the Installbuilder.

Thanks Kannan

asked 09 Nov '11, 06:34

kmanday's gravatar image

kmanday
1777
accept rate: 0%


We do not have a built-in action to call functions from dlls but you could use execute them using the rundll32 command. The basic usage is:

RUNDLL32.EXE <dllname>,<entrypoint> <optional arguments>

Or using InstallBuilder code:

 <runProgram>
    <program>rundll32</program>
    <programArguments>${installdir}/lib/your.dll,entryPointToYourFunction ${args}</programArguments>
 </runProgram>

For example, to open the control panel applet for configuring the display properties center:

 <runProgram>
    <program>rundll32</program>
    <programArguments>shell32.dll,Control_RunDLL desk.cpl,,0</programArguments>
 </runProgram>

The only requirement is that you must implement your functions as entry points. You can find additional information here.

link

answered 09 Nov '11, 09:17

juanjo's gravatar image

juanjo ♦♦
5.8k413
accept rate: 23%

Thanks very much for the response.

Have one more question - Calling the C++ function in the DLL through run32dll.exe is fine.

Since we are intending to build a cross platform installer, can we achieve the same result (calling the C++ function available .SO file) when it comes to Solaris/Linux.

Presently we are using perl script for UNIX and import the .SO object and call the C++ function. (We have DLL and .SO files generated from the same C++ source)

(10 Nov '11, 00:23) kmanday

Are you calling the C++ functions from the perl script using some module? If so, you can still embed the interpreter and import it the same way.

(10 Nov '11, 16:17) juanjo ♦♦
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×6
×5
×3
×2
×1

Asked: 09 Nov '11, 06:34

Seen: 2,132 times

Last updated: 10 Nov '11, 16:17