Hallo alle...
SOLL:
Treiberinstallation über die SETUPAPI.DLL mit der rundll32.exe.
IST:
Da der Treiber nicht signiert ist schlägt die Installation unter W10 fehl. Meldung: "Installation fehlgeschlagen" als Message Dialog. Das soll auch so sein. Nur leider bekomme ich in meinem Tool den Fehler nicht mit.
ExitCode vom CreateProcess ist in jedem Falle 0.
WUNSCH:
Einen Rückgabewert um Erfolgreich und Fehler trennen zu können.
Ich bitte um Ideen...
Code: die if begin/end/else stammen aus Versuchszwecken um herauszufinden wann was passiert.
Delphi-Quellcode:
if CreateProcess(NIL,
PChar(FPreferences.SystemPath + conRunDLLName + ' ' + Parameters),
NIL,
NIL,
False,
CREATE_NEW_PROCESS_GROUP or NORMAL_PRIORITY_CLASS,
NIL,
PChar(ExtractFilePath(FPreferences.SystemPath)),
SUInfo,
ProcInfo) then
begin
try
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
GetExitCodeProcess(ProcInfo.hProcess, DWord(ExCode));
// hier die Prüfung auf ExCode
Result := True;
finally
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;
if Assigned(FOnInstallSuccess) then
begin
FOnInstallSuccess(Self);
end;
end
else
begin
if Assigned(FOnInstallError) then
begin
FOnInstallError(Self, 'Blubb');
end;
end;