che.ramzes
10-02-2012, 16:42
Помогите пожалуйста, не понятка каято
запускаю инсталятор програмы с помощью CreateProcess и дожидаюсь с помощью WaitForSingleObject
procedure TForm1.Button2Click(Sender: TObject);
var si: TStartupInfo; pi: TProcessInformation;
begin
ZeroMemory(@si,sizeof(si));
si.cb := SizeOf(si);
CreateProcess('H:\Install\Face\ChangeLogonSetup.exe', nil ,nil,
nil,false, 0, nil,nil,si,pi);
CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
end.
програма запускается нормально. Но в конце установки она регистрирует шрифты в реестре и на етом замирает
Вырубаю Project1.exe в диспетчере задач - шрифты тут же зарегистрировались, все конец установки.
Пробовал прописовать без WaitForSingleObject - все OK.
Пробовал путь писать в параметр Name потом commandline безразницы.
Ятак понимаю WaitForSingleObject не дает поге зарегать шрифты вот она и зависает.
Что можно сделать?
запускаю инсталятор програмы с помощью CreateProcess и дожидаюсь с помощью WaitForSingleObject
procedure TForm1.Button2Click(Sender: TObject);
var si: TStartupInfo; pi: TProcessInformation;
begin
ZeroMemory(@si,sizeof(si));
si.cb := SizeOf(si);
CreateProcess('H:\Install\Face\ChangeLogonSetup.exe', nil ,nil,
nil,false, 0, nil,nil,si,pi);
CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
end.
програма запускается нормально. Но в конце установки она регистрирует шрифты в реестре и на етом замирает
Вырубаю Project1.exe в диспетчере задач - шрифты тут же зарегистрировались, все конец установки.
Пробовал прописовать без WaitForSingleObject - все OK.
Пробовал путь писать в параметр Name потом commandline безразницы.
Ятак понимаю WaitForSingleObject не дает поге зарегать шрифты вот она и зависает.
Что можно сделать?