AAA_install.exe 이라는 프로그램을 CreateProcess 를 사용해서 실행을 시키는데...
CreateProcess로 프로그램이 실해되는 컴이 있는가 하면...안되는 컴도 있습니다...
특별한 안되는 원인을 모르겠네요.
저와 같은 문제를 경험하신분들...해결 방법 좀 알려주시기 바랍니다.
function InstallAAAModule: boolean;
const
MB_TIMEDOUT = 32000;
var
si : STARTUPINFO;
pi : PROCESS_INFORMATION;
bResult : Boolean;
iRet: Integer;
iFlags: Integer;
begin
ZeroMemory( @si, sizeof(si) );
si.cb := sizeof(si);
ZeroMemory( @pi, sizeof(pi) );
bResult := CreateProcess( nil, // No module name (use command line).
'C:\AAAA\Lib\AAA_install.exe', // Command line.
nil, // Process handle not inheritable.
nil, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.
nil, // Use parent's environment block.
nil, // Use parent's starting directory.
si, // Pointer to STARTUPINFO structure.
pi ); // Pointer to PROCESS_INFORMATION structure. )
if ( not bResult ) then
begin
Application.MessageBox( PChar( '모듈 설치시 오류가 발생하였습니다.' + #13#10 +
'시스템을 종료합니다.' ), PChar( '오류' ), MB_OK + MB_ICONEXCLAMATION );
Result := false;
exit;
end;
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
Result := true;
end;
안될때 GetLastError함수 호출하셔서 왜 안되는가 파악해보세요...
^^ 항상 즐코하세요...