Wir vertreiben eigen entwickelte Software die zwei verschieden Plattformen nutzt WinForms und WPF(da verschieden Module und Anforderungen).
Alle Programme laufen fast immer von einem Netzlaufwerk, von dem File Server (Von manchen Kunden Vorgabe).
So jetzt ist folgende Problematik:
Oft ist Problem dass die Programme die rein WPF sind, werden einfach nicht gestartet. Von Windows kommt einfach „Programm funktioniert nicht mehr“ fertig. Die Exception abzufangen ist zwecklos try Catch hilft nicht, stürzt kommentarlos ab.
WinForms Programme laufen dagegen Problemlos.
Was hilft:
Hallo,
wir wurde die App eigentlich installiert? Setup.exe, OneClick oder XCopy?
Liegt es evtl. an den Sicherheitszonen? Stichwort CasPol.exe und LocalIntranet_Zone?
Habt Ihr schonmal mittels procmon.exe oder procdump.exe versucht die Ursache zu ermitteln?
Also das machen wir schon:
es wird beim Setup folgende zeile ausgeführt:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\CasPol.exe
-q -machine -addgroup 1.2 -url "file://R:\Unserprogramme/*" FullTrust -name "Anwendungsname"
Programme selbst befinden sich im Ordner R:\Unserprogramme\Prog
Ist der Befehl eventuell falsch?
Hallo Baumunk77,
du solltest erstmal versuchen, an die Exception zu kommen. Dazu gibt es mehr Möglichkeiten an try/catch, siehe [FAQ] Programm läuft in anderer Umgebung nicht (richtig) (spezielle den zweiten Beitrag).
herbivore
Also das machen wir schon:
es wird beim Setup folgende zeile ausgeführt:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\CasPol.exe
-q -machine -addgroup 1.2 -url "file://R:\Unserprogramme/*" FullTrust -name "Anwendungsname"Programme selbst befinden sich im Ordner R:\Unserprogramme\Prog
Ist der Befehl eventuell falsch?
Wir hatten mal Probleme einen FullTrust für einzelne Anwendungen zu vergeben. Ist leider schon etwas länger her, so dass ich mich nicht mehr an Details erinnern kann.
Vielleicht mal testweise folgendes probieren:
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\CasPol.exe -q -m -cg LocalIntranet_Zone -allcode FullTrust
Verwendest Du beim Start der Anwendung Code um festzustellen ob die Anwendung schon läuft ... um diese laufende Instanz dann zu aktivieren ?
Dann könnte es sein, dass die neu gestartete Anwendung merkt, dass sie schon läuft (aber im Context eines anderen Users) und kackt dann ab wenn diese versucht die schon laufende Instanz in den Vordergrund zu holen.
Zugegeben ist einfach ein Schuss in's Blaue... aber könnte ja sein 😃
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
Verwendest Du beim Start der Anwendung Code um festzustellen ob die Anwendung schon läuft ... um diese laufende Instanz dann zu aktivieren ?
Das ist zwar der Fall, kann man aber ausschließen, es wird über Mutex geregelt,
also:
mutNK = new Mutex(true, "MyApp", out aIsNewInstance);
if (!aIsNewInstance)
{
MessageBox.Show("Das Programm MyApp wird bereits ausgeführt!", "MyApp");
App.Current.Shutdown();
}