Setup Projekt mit VS2019: erforderliche Komponenten ...



  • @Schlangenmensch sagte in Setup Projekt mit VS2019: erforderliche Komponenten ...:

    @hustbaer sagte in Setup Projekt mit VS2019: erforderliche Komponenten ...:

    Wenn ich mich richtig erinner hat es nicht funktioniert als ich es das letzte Mal versucht habe.

    Mach mich nicht schwach. Ich bin mir eigentlich sehr sicher, dass es funktioniert. Aber natürlich habe ich gerade keine saubere VM zur Hand um das mal schnell durchzuspielen.

    Hm. Also ich hab's jetzt mit VS 2022 probiert, und anscheinend geht dort sowohl neben der EXE hinlegen als auch irgendwo im Suchpfad. Hm. Komisch. Ich bin mir zu 95% sicher dass es mit VS 2005 zumindest im Suchpfad nicht ging. Aber vielleicht hat MS das auch wieder zurück-geändert? Keine Ahnung.



  • @hustbaer sagte in Setup Projekt mit VS2019: erforderliche Komponenten ...:

    m. Komisch. Ich bin mir zu 95% sicher dass es mit VS 2005 zumindest im Suchpfad nicht ging

    Das ist eine Stelle, die ich "hier" noch nicht angepackt habe. Und wir haben jetzt mit VS 2015, 2017 und 2019 gearbeitet und die Redistributables neben die exe gelegt. Hier war auch mal VS 2010 im Einsatz, mit dem gleichen Ansatz, soweit ich weiß. Was vorher war, kann ich ehrlich gesagt nicht sagen.

    Aber, dass das so möglich ist, wird auch von Microsoft so dokumentiert:

    It's also possible to directly install the redistributable DLLs in the application local folder. That's the folder that contains your executable application file. For servicing reasons, we don't recommend you use this installation location.

    https://docs.microsoft.com/en-us/cpp/windows/redistributing-visual-cpp-files?view=msvc-170



  • @hustbaer sagte in Setup Projekt mit VS2019: erforderliche Komponenten ...:

    @elmut19 sagte in Setup Projekt mit VS2019: erforderliche Komponenten ...:

    Ich arbeite da mit VMWare. Es dauert aber, bis ich wieder an die Original-Installation komme.

    Es sei denn die Anwendung würde sowohl das VCRedist als auch die Merge Module installieren, oder es sind noch andere Anwendungen installiert die Merge Module verwenden.

    Also, da diese Merge Module in irgendeinem Systemverzeichnis liegen, hoffe ich, dass sie gegebenenfalls
    auch durch Windows Update gewartet werden.

    Ich würde eher davon ausgehen dass das nicht passiert. Kann's aber nicht sicher sagen.

    Ich habe das mehrmals probiert.
    Die Merge Modules sind demnach eine eigene Installation.
    Die Anwendung funktionierte ohne das VCRedist.

    In der Zwischenzeit hat mein Kollege auch das mit "... Im Verzeichnis der Anwendung ..." hinbekommen.
    Das installiert nun wirklich das VCRedist separat. und wenn man da das VCRedist wieder deinstalliert,
    geht die Anwendung auch nicht mehr.
    In den Verzeichnissen des erstellten Setup sind dann auch keine einzelnen DLLs, wie bei den Merge Modules,
    sondern nur das VCRedist. Somit wäre dann diese Variante noch besser, da keine doppelte Installation (evtl durch anders Setup-Progr).
    Auch die Wartung durch "Windows Update" könnte ich mir so sogar eher vorstellen (weil nicht mehrere Pfade gewartet werden müssen).

    Ich muss mir das aber noch ansehen.
    Irgendwie habe ich den Verdacht, dass der Schreiberling bei Microsoft selbst nicht weiss, wie es funktioniert.
    Ich habe da jedenfalls nix verstanden!



  • @Swordfish Wozu beleidigend werden, gewinnst du elender Troll dadurch deine Kraft ?



  • @elmut19 Nachtrag:
    Was irgendwie blöd ist: Man muss dieses "vc_redist.x86.exe" extra in folgendes Verzeichnis kopieren:
    C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\vcredist_x86

    Zu finden ist das "vc_redist.x86.exe" aber in einem anderen Verzeichnis:
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\v142

    Im Setup Projekt ist dann auch unter den "Prerequisites" die "C++14 runtime lib" anzukreuzen.
    Diese landet dann im Setup Projekt automatisch im Verzeichnis "vcredist_x86", parallel zur "setup.exe".
    Es wird beim Erstellen des Setup Projekts jedesmal neu erstellt.
    Wenn man das Setup ausführt, wird dann zunächst dieses Redist installiert. Dauert sehr lange, bei mir.

    Neben diesem "vc_redist.x86.exe" gibt es noch ein "vcredist_x86.exe" mit gleicher Grösse und Version.
    Keine Ahnung warum. Mit der "vc_redist.x86.exe" hat die Installation funktioniert. Die ist auch in der
    MS-Doku zu finden. Vorteil, man hat nur eine Installation der c++ Libs.
    Ich denke, dass die auch über das Windows Update gepflegt wird. Aber wer weiss...
    Aber ich habe die Microsoft Doku dazu nicht verstanden.



  • Wie das mit VCRedist ins Setup integrieren funktioniert, damit hab ich mich nie beschäftige. Kann dazu keine Hilfe anbieten. Es würde mich aber nicht wundern wenn da ein paar Dinge etwas komisch wären.

    Das wichtigste ist aber dass es für den User möglichst angenehm ist, also nur 1 Setup File runterladen, ausführen, und läuft. Danach käme für mich dann der Punkt dass das installierte Programm nur einen Eintrag in der Applications Liste haben sollte.

    Wenn man das Setup ausführt, wird dann zunächst dieses Redist installiert. Dauert sehr lange, bei mir.

    OK, das ist doof. Und komisch. Die letzten male wo ich VCRedist installiert habe, ging das immer halbwegs flott. Was heisst denn "sehr lange" ca.?



  • @hustbaer Hallo Hustbaer
    Ich teste das derzeit nur unter meinem virtuellen Win7. Da hängt der Prozess geschätzt schon 1 bis 3 Minuten.
    Und der Fortschrittsbalken bleibt dabei stehen. Warum, weiss ich natürlich nicht.
    Aber es ist ein einziger Setup-Prozess. Man muss sonst nichts weiter bestätigen.

    Mein Chef hätte gerne eine Mehrplatz Installation, bei der man von allen weiteren Rechnern aus die Anwendung
    nur über einen Desktop-Link auf die exe im Netzlaufwerk startet. Dort würde sich dann anbieten, auch nur
    das Redist zu installieren. Also wenn wir dann rausbekommen, wie man da eine Auswahl treffen kann.
    Ausserdem ist das Redist dabei ja komplett im Setup-Verzeichnis enthalten und kann separat aufgerufen werden.

    Wenn man weiss, dass man das benötigte Redist, mit besagtem Namen, extra in das besagte Verzeichnis kopieren
    muss, ist diese Variante auch recht einfach herzustellen.



  • Zum Starten von einem Netzlaufwerk aus würde sich doch eher anbieten die DLLs neben die EXE hinzulegen, oder? Natürlich werden die dann nicht automatisch upgedated. Aber zumindest hat man dann nur einen Platz wo man die DLLs updaten muss.



  • @hustbaer
    Tja, das sind keine leichten Entscheidungen.
    Aber derzeit sind für uns nachträgliche Updates kaum machbar.
    Wir bräuchten da schon eine Automatisierung.
    Die Updates erfolgen nur bei Bedarf, wenn neue Funktionen gewünscht werden.



  • Also erstmal würde ich mich schlau machen ob es überhaupt irgendeine Variante gibt wo die Runtime DLLs von Windows Update serviciert werden. Ich bin mir da nämlich nicht so sicher. Und wenn das nicht der Fall ist, dann würdest du die für den Kunden einfachste Variante ausschliessen, wegen eines Vorteils einer anderen Variante, der gar nicht real ist.


Anmelden zum Antworten