Gesundheitschecks im Allgemeinen sind ein ziemlich schwieriges Thema. Für in Windows integrierte Dateien gibt es Tools wie SFC, aber das gilt nicht für andere installierte Pakete. Bei MSI-Paketen können Sie auswählen, ob eine Reparatur ausgeführt werden soll. In einigen Fällen wird Windows dies automatisch tun. Dieses Thema wird allgemein Resiliency genannt. Aber es sei denn, die automatische oder manuelle Reparatur behebt die Probleme, die Sie in der freien Wildbahn haben.
Die Frage wird also, welche Art von Problemen Sie tatsächlich begegnen, mit welcher Häufigkeit, was ihre Behebung ist und welche Probleme durch den Versuch, sie zu beheben, verursacht werden können. Wenn es ausreicht, eine manuelle Reparatur der VC++ - Rediste aufzurufen, ist dies relativ einfach zu implementieren. Wenn eine vollständige Deinstallation und Neuinstallation erforderlich ist, ist das viel invasiver; Die Idee, diesen Teil einer Installation zu machen, reibt mich in die falsche Richtung. Wenn Sie dies nur in sehr spezifischen Situationen tun müssen, kann es darauf ankommen, wie gut Sie diese Situationen identifizieren können.
Wenn Ihr Fokus sicherstellt, dass Ihre Installation erfolgreich ist, können Sie Ihre benutzerdefinierten Aktionsdlls möglicherweise statisch verknüpfen, so dass sie nicht mehr vom Status des VC++ - Pakets abhängen. Dies wird Ihrer Anwendung nicht sehr helfen, wenn die Anwendung auch vom VC++ - Paket abhängt. Vielleicht kann eine privatisierte Kopie der VC++ - DLLs das adressieren (wenn die Version 2013 dies unterstützt - ich vergesse), auf Kosten von mehr Schwierigkeiten bei der Wartung Ihrer Kopie der VC++ - DLLs im Falle von Sicherheitsupdates.
Aber wieder hängt alles davon ab, welche Art von Problemen auftreten, ob sie häufig genug sind, um sie zu adressieren, und ob die Heilung schlimmer ist als die Krankheit.