
amilbra1.5524909949835464E12 asked a question.
Hiding command window in custom action
I currently have a couple of custom actions (Launch Executable) which simply run a command (SQLCMD, etc.) in my Basic MSI project. The commands could be extremely quick or last a couple of minutes, in which case the console window shows status.
Ideally, I would like the actual command window not visible to user. However, I don't want the user to think the Installer is frozen.
I was hoping to be able to do the following:
Get InstallShield to launch the commands hidden (how?). In this case, I would very much want to be able to show some text to the user in the main installation window since custom actions never show any description (or can they?)
Any thoughts? Perhaps I'm missing something very simple with custom actions or scripts. Thanks.
http://helpnet.acresso.com/robo/projects/DevStudio9HelpLangref/LangrefLaunchAppAndWait.htm
Edit --> On second thought, InstallScript is much better and powerful than I first thought. Do most people tend to use InstallScript functionality within Basic MSI installers for custom actions?
Is it possible to set the current step description for the main Install Shield window (above the progress bar) when launching a custom action?
For instance, if a managed dll custom action is used that may take any length of time it would be helpful to display some related text to let user know what is happening.
If you already have a dependency on the framework, then I reccomend skipping InstallScript and writing managed custom actions using DTF.
For publishing messages, look at the ActionText table and the MsiProcessMessage API. The InstallationProgress dialog has controls that subscribe to messages and progressbar that subscribes to ticks to do what you are describing.
Even i am facing the same problem. I am using the basic MSI project i just need to hide the console window, I chosed Launch executable as action type. So can any body help me how to hide the console window :confused: I am using Install Scield 2008.
Thanks,
Swaroop.
1) If you wrote the EXE yourself, compile it as a windowless Windows Application instead of a Console application.
2) Use an intermediate custom action to shell out to the program and hide the window ( like the LaunchAppAndWait example given previously ).
EXPORT prototype MyFunction(HWND);
function MyFunction(hMSI)
begin
end;
But i did not posted the rul file. can you tell me how to post that file.
Thanks.
export prototype MyFunction(HWND);