Bisher habe ich alle meine Programme den Kunden einfach als Zip-dateien zur Verfügung gestellt bzw. selbst bei den Kunden installiert, jetzt habe ich mich dazu entschlossen, für eine Anwendung, die an einen grösseren Kundenkreis geht und eine
Dll-Registrierung braucht, ein komplettes automatisches Installationsprogramm dazuzubasteln.
Funktioniert alles zur Zufriedenheit, bloss - wie bekomme ich im Programm eine Rückmeldung für den Fall, dass das regsvr32 einmal aus irgendeinem Grund fehlschlägt?
Mit:
Delphi-Quellcode:
cmd:='regsvr32.exe "'+Dir+'Testdll.dll"';
winexec(PAnsichar(cmd),sw_Show);
kommt auch im Erfolgsfall eine unnötige Meldung von RegSvr32 am Bildschirm, dass alles gut gegangen ist, die der User wegklicken muss, aber mit
Delphi-Quellcode:
cmd:='regsvr32.exe /s "'+Dir+'Testdll.dll"';
winexec(PAnsichar(cmd),sw_Show);
bekommt weder der User eine Fehlermeldung, wenn etwas schiefgegangen ist, und schon gar nicht sehe ich, wie ich vom Programm heraus festzustellen könnte, dass der Aufruf schiefgegangen ist - ausser nachher in der Registry nachzuschauen, ob alle Einträge richtig gesetzt worden sind, aber dann würde ich das regsvr32 auch nicht brauchen und könnte die Einträge (es sind doch etliche) gleich selbst machen.
Zum Testen habe ich einen falschen
DLL-Namen angegeben, mit Aufrufvariante 1 kommt eine Fehlermeldung am Bildschirm, aber mein Programm glaubt, es wäre alles gut gegangen, mit Aufrufvariante 2 bekommt man den Fehler gar nicht mit, bloss ist natürlich danach die
DLL nicht registriert.