Laden...

Bildschirmschoner erstellt - Jedoch Fehler beim Anwählen auf dem Betriebssystem

Erstellt von da_user vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.271 Views
D
da_user Themenstarter:in
94 Beiträge seit 2008
vor 7 Jahren
Bildschirmschoner erstellt - Jedoch Fehler beim Anwählen auf dem Betriebssystem

Hi,

ich habe mir einen Bildschirmschoner gebastelt. Prinzipiell bin ich als erstes nach dieser Anleitung vorgegangen: https://csharp-tricks.blogspot.de/2010/07/bildschirmschoner-screensaver-erstellen.html

Der Schoner läuft soweit. Sowohl im Debugmodus aus VS heraus, wie auch das Release wenn ich es per CMD starte.
Habe dann wie in der Anleitung empfohlen die .exe in .scr umbenannt, und weil ich nicht wusste, was alles gebraucht wird, aus dem Ordner herausgeholt und von dort aus per CMD gestartet. Also ohne das die ganzen .pdb, .config, vhost,.. dabei sind. Lief einwandfrei!
Also die .scr in den Windows/System32 Ordner kopiert und tada, wird mir auch in den Bildschirmschonereinstellungen angezeigt.

Wenn ich den dann aber auswähle, erhalte ich folgende Fehlermeldung:> Fehlermeldung:


MMDSScv.scr - This application could not be started.

This application could not be started.

Do you want to view information about this issue?

Ja Nein

Weitergeleitet werde ich dann auf diese für mich als "Entwickler" nichtssagende Seite: https://support.microsoft.com/de-de/help/2715633/shim-errors-for-the-.net-framework-version-and-platform-support

.NET ist natürlich aktiviert, und an den Entwickler habe ich mich auch gewendet (den kenne ich sehr gut, seit seiner Geburt!), aber der ist genauso Ratlos. Über Google habe ich auch schon jemanden gefunden der das Problem hatte, der hat es gelöst, in dem er den Bildschirmschoner in C:\Temp verschoben hat. Bringt aber nix, Windows soll den finden und starten! (https://stackoverflow.com/questions/30642392/shim-noversion-found-error-while-trying-to-run-screensaver-from-preview)

Ich habe auch schon probiert, die zurückgelassenen Dateien ebenfalls umzubenennen (exe => scr) und mit in System32 zu kopieren, hat aber auch nix gebracht.

Was mache ich den hier falsch? Wie kann ich das Problem lösen?

Ach ja, könnte ja evtl. was damit zu tun haben: Buildtarget: Release/AnyCPU.

VG
da_user


Edit:
Ich habe den Bildschirmschoner gerade eben auf einem zweiten Windows10 Gerät "installiert" (der erste PC ist übrigens auch W10). Gleicher Fehler.
Zur Sicherheit habe ich jetzt auch nochmal in den "Windows-Funktionen ein- oder ausschalten" nochmal ganz sicher alles mit .NET aktiviert, der Fehler bleibt bestehen.

D
da_user Themenstarter:in
94 Beiträge seit 2008
vor 7 Jahren

Fehlen irgendwelche Infos oder war bis jetzt noch keiner hier, der den Fehler kennen würde?

Ich habe mal versucht, mein Project ein bisschen auf Vordermann zu bringen und angehängt. So kann sich evtl. jeder selbst ein Bild davon machen.

1.040 Beiträge seit 2007
vor 7 Jahren

Also ich würde an deiner Stelle einmal das Beispielprojekt umsetzen - und gucken ob das geht. Stichwort "Minimalprojekt".

Weiterhin ist mir aufgefallen, dass in dem Artikel folgendes steht:

Dieses Problem lässt sich beheben, in dem man in den Projekteigenschaften (Rechtsklick auf das Projekt im Projektmappen - Explorer) unter "Anwendung" als Ausgabetyp "Windows-Anwendung" eingestellt.

Das ist bei dir nicht umgestellt.

D
da_user Themenstarter:in
94 Beiträge seit 2008
vor 7 Jahren

Weiterhin ist mir aufgefallen, dass in dem Artikel folgendes steht:

Dieses Problem lässt sich beheben, in dem man in den Projekteigenschaften (Rechtsklick auf das Projekt im Projektmappen - Explorer) unter "Anwendung" als Ausgabetyp "Windows-Anwendung" eingestellt.
Das ist bei dir nicht umgestellt.

Oh, das ist mir total entgangen 8o 8o
Umgestellt -> brachte keine Veränderung

Also ich würde an deiner Stelle einmal das Beispielprojekt umsetzen - und gucken ob das geht. Stichwort "Minimalprojekt".

Ich habe es jetzt ehrlich gesagt mal ein bisschen anders gemacht: Am Ende des Artikels verlinkt der Autor auf einen weiteren Blogeintrag mit einen Screensaver den er erstellt hat (http://csharp-tricks.blogspot.de/2010/07/matrix-screensaver.html). Dort habe ich mir den Quellcode heruntergeladen, kompiliert (als Debug) und den selben Vorgang durchgeführt. Auch hier erhalte ich den Shim-Fehler.

Edit: noch ein Test: Auch der bereits Kompilierte Matrixscreensaver, den der Autor auch unter obigen Link anbietet, erzeugt den Shim-Fehler.

1.040 Beiträge seit 2007
vor 7 Jahren

Wenn ich Zeit finde, probiere ich es heute Abend mal aus.

D
da_user Themenstarter:in
94 Beiträge seit 2008
vor 7 Jahren

wäre toll 😉

W
195 Beiträge seit 2008
vor 7 Jahren

Schon mal im Ereignisprotokoll von Windows nachgeschaut, ob sich dort ggf. detailliertere Informationen zum Fehler finden?

1.040 Beiträge seit 2007
vor 7 Jahren

Habe es gerade mal ausprobiert, bekomme unter Windows 7 den selben Fehler, wenn das Target Framework .NET Framework 4.6.2 ist.

Stelle ich auf .NET Framework 3.5 um, dann funktioniert es. 🙂

D
da_user Themenstarter:in
94 Beiträge seit 2008
vor 7 Jahren

Dafür bekomme ich dann u.A. Probleme mit meinem

Parallel.Foreach

Ich habe jetzt auf .NET 4 umgestellt und damit scheint es zu funktionieren.

Ich stelle übrigens gerade fest, dass laut dem Info-Dialog des VisualStudios nur das .NET Framework 4.6.01586 installiert ist. 8o

1.040 Beiträge seit 2007
vor 7 Jahren

Dafür bekomme ich dann u.A. Probleme mit meinem

Parallel.Foreach  

Ja, das ist logisch, weil es erst mit dem .NET-Framework 4.0 eingeführt wurde.

Ich stelle übrigens gerade fest, dass laut dem Info-Dialog des VisualStudios nur das .NET Framework 4.6.01586 installiert ist. 8o

Das ist Quatsch, da wird einfach nur die höchste Version angezeigt. Entscheidend ist die Auswahlliste in den Projekteigenschaften bzw. die Auflistung unter "Programme und Funktionen"/"Software" des Betriebssystemes. =)

Was den Fehler angeht: keine Ahnung, warum nur bestimmte Versionen des .NET-Frameworks funktionieren. In der besagten Windows-Features-Ansicht steht was von ".NET Framework 3.5.1", daher habe ich es mit dem Framework ausprobiert. =)

D
da_user Themenstarter:in
94 Beiträge seit 2008
vor 7 Jahren

Dafür bekomme ich dann u.A. Probleme mit meinem

Parallel.Foreach  

Ja, das ist logisch, weil es erst mit dem .NET-Framework 4.0 eingeführt wurde.

Ja, aber man kann über NuGet die TaskParallelLibrary nachinstallieren. Offensichtlich auch offiziell von MS. Die scheint aber trotzdem nicht ganz so einwandfrei zu funktionieren, wie die in .NET 4.0.

bzw. die Auflistung unter "Programme und Funktionen"/"Software" des Betriebssystemes.

Da finde ich tatsächlich auch keinen Hinweis auf .NET4.6.2, nur auf .NET4.6.1. Nach kurzem googeln weiß ich jetzt auch, dass die 4.6.2 für W10 wohl erst mit dem Anniversary Update kam.
An meinem W10 werden die Upgrades erst später eingespielt, und wann welches W10-Upgrade kam, da habe ich sowieso den Überblick verloren.
Zudem stellt sich mir die Frage, warum das Programm den dann "außerhalb" lief...
Wichtig ist jetzt aber, dass es mit .NET 4 einwandfrei läuft.

Danke fürs Testen und grübeln! 😉

1.040 Beiträge seit 2007
vor 7 Jahren

Vllt. hatte dein Projekt einfach das .NET Framework 4.6.1?

Bei mir war das Testprojekt auf 4.6.2.
Ist aber auch egal.