Wise Package Studio 5.1 - Calling an EXE from within an MSI

T

The CQMMAN

Hi,

I have an MSI that needs to call a EXE file, and I am not having any
luck. I have created a "Run WiseScript" action in the Execute
Immediate part to run the compiled WiseScript, but it doens't seem to
run. The changes that the script makes to the workstation do not
happen, and and there is nothing at all in the log files about it
(success or otherwise).

Can anyone tell me how I can get this to work. I have no had much joy
with getting info on this from Wise.

Cheers
 
P

Phil Wilson

I'm not familiar with Wise, but I'd expect the description for what you want
to do would talk about a custom action running an EXE installed with the
product, something like that. WiseScript doesn't sound like what you want to
do.
 
M

MadDHatteR

In the MSI Script view, choose the Installation Mode you want to modify (...
mode to which you want to add a custom action, in this case). Choose the
appropriate tab (User Interface, Execute Immediate, Execute Deferred) at the
bottom of the Installation Sequence window. Click to highlight where you
want to insert the custom action. Then choose the custom tab at the bottom
of the Actions window. The left pane now has a list of custom actions,
including "Call Custom DLL From Destination," "Call Custom DLL From
Installation," etc. To call your EXE, choose (double-click) the appropriate
"Execute Program From..." option and configure it in the dialogue that pops
up. You will see a new entry appear in the installation sequence where your
cursor was. (You can, of course, move this up/down and/or cut/copy/paste it
to another window/table, ...)

It sounds like a lot, but it's all in one screen, and is kind of intuitive
once you get the hang of Wise UI layout.

\\ MadDHatteR
 
A

Anthony Yates

I found this very difficult at first, but I have had excellent support from
Wise to get these to run. What does the exe do? Here are a few ideas:
1) Run exe from Destination: cmd /c "[path to your exe /any parameters]"
(i.e call the Run command to run it)
2) Or Run from Path: put the complete path, including the exe name, in the
Properties table, then specify the property as the path.
3) Depending on the exe, run it in the Immediate/Deferred Execution
sequence, and put it somewhere between Install Initialize and Install
Finalize
4) Run it Synchronous, or Synchronous Deferred
5) You can use the System Search function to check if the exe is already run
on that machine (depending on what the exe does). Set the System Search to
create a property - all capitals - which will be a) True and b) hold the
directory or file name if the file exists
6) Normal conditions would be:
(NOT Installed) -meaning the msi has not been installed already
AND (NOT SYSTEMSEARCHPROPERTY) - meaning the exe has not already been run.
7) The debug is really good for following the progress of Conditions and
Properties. Just set breakpoints and make sure your properties are being set
8) If the exe runs in silent mode, run it unsilent in the msi so you can see
if it succeeds
Regards,
Anthony
 
J

Jim Welch

Hello,

I have experience using Wise for Windows installer I am
not sure how well that matches up with Wise Package Studio
but I have performed the same action you are trying to
accomplish. If you are trying to launch an exe file that
you installed from the MSI you can use the "Execute
Program From Installation" or "Execute Program from
Destination" action calls. Either one of these actions
work, but just make sure that you use the first one its in
place somewhere in the MSI script in which you already
installed the exe file you are trying to call. I tend to
use those type of calls in the Execute Deferred Mode. I
hope this helps.


Best of luck.

-Jim
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top