Alle diese Redistributables haben möglicherweise andere Befehlszeilenoptionen, daher ist es wahrscheinlich nicht eine einzige Antwort für alles.
Es ist nicht klar, wie Sie den Installationsfortschritt erhalten können. Es ist fast unmöglich oder sehr schwierig. Sie fragen, wie Sie ein Programm ausführen können, das die Ausgabe eines anderen Programms stehlen wird, und in vielen Fällen wird das Windows Installer sein. Wenn ich ein Programm hatte, das ein Windows Form-Programm abfeuert, dann fragen Sie: "Wie kann ich den Inhalt dieses Programms bekommen und die ausgegebenen Nachrichten stehlen?" Das ist keine Installationsfrage, es ist eine Windows Messaging/Windows-Nachricht Loop-Frage.
Die von diesen Setups verwendeten Erkennungsmethoden werden intern codiert (oder als interne Daten konfiguriert). Sie fragen also, wie der Code in all diesen Programmen erkennt, dass die Abhängigkeit nicht installiert ist (unter mehreren Betriebssystemversionen und 32 -Bit und 64-Bit), und einige davon sind möglicherweise im Web verfügbar, aber es ist unwahrscheinlich, dass sie für jede weitervertreibbare Datei verfügbar sind.
Möglicherweise haben Sie auch ein Problem mit EULAs. Einige Redistributables benötigen eine EULA, die akzeptiert werden muss. Sie wird möglicherweise nur dann installiert, wenn sie akzeptiert wird, oder einige haben möglicherweise eine Befehlszeilenoption, die etwas wie (nur ein Beispiel) ACCEPTEULA = 1 enthält.
Grundsätzlich sollte man:
die Befehlszeilenoptionen alle verfügbaren finden für jene redistributables zu sehen, ob sie über eine Option, die nur Fortschritt anzeigt, dann lassen Sie sie, dass zeigen.
In ähnlicher Weise, ob sie Dokumentation haben, die Ihnen sagt, ob der Exit-Code Erfolg bedeutet oder nicht.
Versuchen Sie nicht, alle Erkennungsmethoden für alles zu finden - führen Sie einfach die Redist, und wenn das Ziel bereits installiert ist, wird es nichts tun.
Schließlich erfinden Sie das Rad neu. WiX, der Bootstrap Manifest Generator, InstallShield, Advanced Installer (usw.) bieten Bootstrapper-Programme, die dies bereits als Voraussetzung für die Installation von Software machen. Niemand schreibt Code, um dies zu tun, weil es Lösungen gibt.