• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 217
  • Last Modified:

Installshied extra

hi All,
i created an installshield installation, at the end of the installation i want to run a new installation to inatall more files, i want it to run as a child process right before the main installation finished.

the user will go through the new install and then when it ends, he'll be able to close the miain one
i m using installshield 7.0 developer

thanks
shay
0
Shay050799
Asked:
Shay050799
1 Solution
 
jkrCommented:
Call the new Setup through your extension DLL & take care of the message processing, so the 1st installer doesn't appear 'frozen':

DWORD ExecuteAndWaitForCompletion   (   LPSTR   pszCmd)
{
    STARTUPINFO         si;
    PROCESS_INFORMATION pi;

    BOOL                bRes;

    DWORD               dwCode  =   0;

    ZeroMemory  (   &si,    sizeof  (   STARTUPINFO));

    si.cb           =   sizeof  (   STARTUPINFO);
    si.dwFlags      =   STARTF_USESHOWWINDOW;
    si.wShowWindow  =   SW_SHOWNORMAL;

    bRes    =   CreateProcess   (   NULL,
                                    pszCmd,
                                    NULL,
                                    NULL,
                                    TRUE,
                                    NORMAL_PRIORITY_CLASS,
                                    NULL,
                                    NULL,
                                    &si,
                                    &pi
                                );

    while   (   WAIT_OBJECT_0   !=  MsgWaitForMultipleObjects   (   1,
                                                                    &pi.hProcess,
                                                                    FALSE,
                                                                    INFINITE,
                                                                    QS_ALLINPUT
                                                                )
            )
            {
                while   (   PeekMessage (   &msg,   NULL,   0,  0,  PM_REMOVE))
                        {
                            DispatchMessage     (   &msg);
                        }
            }

    GetExitCodeProcess  (   pi.hProcess,    &dwCode);

    CloseHandle (   pi.hProcess);
    CloseHandle (   pi.hThread);

    return  (   dwCode);
}


0
 
peterchen092700Commented:
Why not using the LaunchAppAndWait() IS Script function?
0
 
jkrCommented:
Hm, I knew there was something about getting older :o)
0
 
griesshCommented:
Dear Shay

I think you forgot this question. I will ask Community Support to close it unless you finalize it within 7 days. You can always request to keep this question open. But remember, experts can only help you if you provide feedback to their questions.
Unless there is objection or further activity,  I will suggest to accept

     "peterchen"

comment(s) as an answer.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
======
Werner
0
 
MindphaserCommented:
Force accepted

** Mindphaser - Community Support Moderator **
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now