2017-05-05 4 views
0

Ich verwende VS 2015 CE und die "Microsoft Visual Studio 2015 Installer-Projekte" auf Windows 7 SP1. Wenn ich meine MSI-Datei erstelle, fügt der Erstellungsprozess der resultierenden MSI-Datei automatisch ein Code Signing-Zertifikat hinzu. Bis heute war dieses Zertifikat gültig, und als Sie dieses MSI von einem Webserver herunter luden, gab es keine Warnung. Heute hat IE eine Warnmeldung angezeigt: "Die Signatur dieses Programms ist beschädigt oder ungültig." Wenn ich mir das Cert ansehe. In den Eigenschaften der MSI-Datei heißt es: "Diese digitale Signatur ist nicht gültig." Selbst Dateien, die ich letzte Woche hochgeladen habe und die gut funktionierten, zeigen jetzt die Nachricht an.Visual Studio Installer-Code Zeichen mit ungültigem Zertifikat

Ich habe den ganzen Tag erforscht, und habe immer noch einige Lücken in meinem Verständnis des Prozesses. Zum Beispiel:

1) Wo erhält der VS-Installer das Codesignaturzertifikat für das MSI? Ich nehme an, dass es in meinem Zertifikatsspeicher wäre, kann es aber nicht finden. Ich habe, soweit ich weiß, nie einen generiert, es sei denn, es wurde als Teil der Installation gemacht? Ich mache keine SignTool-Aufrufe, und ich kann nichts in der vdproj-Datei sehen, die über Zertifikate spricht (es gibt ein Tag, das "SignOutput" = "11: FALSE" sagt). Dieser Prozess findet statt und geschieht automatisch, seit ich das Installationsprogramm nutze.

2) Wie kann ich VS Installer ein Zertifikat anwenden, das funktioniert? Ich fand viele verschiedene Gründe, warum es scheitern würde, etwa weil es SHA1 war, aber ich habe einen aktuellen MSI-Download von MS angeschaut, und es wird auch SHA1 verwendet, und es hat keinen Fehler. Ich würde es vorziehen, ein Zertifikat zu verwenden, das automatisch angewendet wird, anstatt es zu kaufen und es mit Signalool anzuwenden.

+0

Ich bin gerade über das gleiche Problem gestolpert. Nicht sicher, wie SO nicht darauf hingewiesen hat, als ich gepostet habe: http://stackoverflow.com/questions/35391691/vs2015-installer-projects-adds-invalid-microsoft-signature-to-msis Sieht aus, als ob ich aus bin Glück – user1689571

Antwort

0

Es gab ein Update am 15.03.17, dass Microsoft für ihre Visual Studio 2015 Installer Projects-Erweiterung, die dies löst.

Seltsamerweise wurde das Update nicht in Extensions and Updates auf der Registerkarte Tools angezeigt, aber die Suche nach "Installer Projects" unter dem Online-Abschnitt auf der linken Seite erlaubte mir, die neueste Version herunterzuladen und zu installieren. Es ist unter diesem Link: https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2015InstallerProjects

Auch die Version von Visual Studio Installer-Projekte im Abschnitt Installiert zeigt immer noch Version 1.0.0.2, obwohl der aktualisierte Download-Link 2.1 ist. Keine Ahnung, was dort vor sich geht, aber der wichtige Teil ist, dass das ungültige Zertifikat beim Erstellen eines MSI von einem Installer-Projekt nicht mehr angezeigt wird und die Warnungen in Browsern beim Herunterladen weg sind.

+0

Ich habe die neueste Version installiert (\t 2.112 für VS2015, die immer noch als 1.0.0.2 im Abschnitt Erweiterungen) und das zweite Problem besteht weiterhin: Edge beschwert sich, dass Setup "nicht häufig herunterladen und könnte Ihr Gerät schaden" und Smart Bildschirm "verhindert, dass eine nicht erkannte App gestartet wird. Wenn Sie diese App ausführen, könnte Ihr PC einem Risiko ausgesetzt sein." Das Verhalten bleibt in VS2017 mit der entsprechenden Erweiterung für das Setup-Projekt bestehen. –

0

Ich hatte ähnliches Problem. Mein Setup-Projekt nach dem Download von IE oder Edge sagt "die Signatur dieses Programms ist beschädigt oder ungültig". Ich habe das neueste Installer-Projekt für meine VS2015 (Version 2.1) heruntergeladen und das Problem ist teilweise gelöst. Ich habe dieses Messgae nicht mehr. Aber es gibt noch eine weitere Warnmeldung wie "Datei wird nicht häufig heruntergeladen und könnte Ihr Gerät beschädigen". Aber in der Regel ist es weniger umständlich, da der Benutzer einfach "Download Any Way" und "Run" auswählen kann.

Verwandte Themen