Warum braucht mein Programm so lange zu starten auf Fremdsystemen
-
Warum braucht mein Programm so lange zu starten auf Fremdsystemen ?
Also ich habe ein recht umfangreiches Programm in C# WPF geschrieben, mit einer DLL einigen Bildern und XML Dateien.
Auf meinen Root System/Debuger startet es top.
Sobald ich das Programm auf einem anderen System laufen lasse, braucht es ziemlich lange um zu starten (30sec.).
Wenn es gestartet ist läuft es reibungslos und mit der richtigen Geschwindigkeit.
Ich weiß das es kein Patentrezept gibt, aber vieleicht habt ihr ein paar allgemeine Tips woran es liegen kann.
Danke schon mal im vorraus
-
Kommt drauf an.
Ist das nur beim ersten Start so oder bei jedem Start?
-
30 Sekunden klingt für mich danach als ob die ganzen Framework DLLs kompiliert werden.
Das sollte aber nicht davon abhängig sein ob dein Programm gerade frisch installiert wurde, und schon gar nicht ob es ein "Fremdsystem" ist.Wenn kurz davor allerdings ein Framework Update gemacht wurde, bzw. vielleicht sogar ein neues Framework installiert wurde damit das Programm läuft, dann ist das ganz normal. Weil die Framework DLLs nicht gleich beim Installieren kompiliert werden, sondern irgendwann später, zu einem Zeitpunkt wo das ngen Service schätzt dass es nichts wichtiges stört (=wenn der Rechner gerade wenig zu tun hat).
Was du probieren kannst: mach ne Commandline auf, wechsel ins Framework Verzeichnis (z.B.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
) und führ dortngen update
aus.Nachdem das fertig gelaufen ist sollte dein Programm so schnell wie auf deinem Entwicklungsrechner starten.
(Und nicht schrecken, das gibt immer tonnenweise Fehlermeldungen ala "Assembly will be compiled once the correct runtime is installed." oder "Failed to load dependency so-und-so" aus. Ist "normal".)
-
Danke für die Antworten.
Es ist so:
Bei ersten starten meines Programmes dauert es immer ewig. Aber wenn es einer gestartet wurde läuft es top.
Wenn ich das Programm dann schließe und wieder öffne startet es auch mit super Geschwindigkeit. (Ich denke hier geht es so schnell, weil das Programm noch im Arbeitsspeicher geladen ist.)Wenn ich das Programm abends z.B. noch einmal öffnen möchte, braucht es wieder so lange (auf dem gleichen Rechner).
Es ist also jedesmal wieder langsam beim ersten Start.
Mein Root Verzeichniss ist im Netzwerk, also verhält sich mein Programmierpc genauso wenn ich die BIN lokal öffne und die Netzwerkverbindung öffne.
Könnte es sein das es beim Start nach irgendwelchen Verknüpufen sucht.
Ich hatte am Anfang ein Laufzeitfehler ohne mein root system, das konnte ich beheben. Dort war der Pfad meiner Bilder absolut angegeben und nicht relativ auf das eigene system.
-
Schau mal hier: http://msdn.microsoft.com/de-de/magazine/cc163655(en-us).aspx
Ich denke die von Dir beschriebenen Situationen fallen unter "cold startup".
Dazu gibt es einige Hinweise in dem Artikel.