Windows Schnellstart aktiviert? (Hyperboot)

  • VB.NET
  • .NET 4.5

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von dive26.

    @dive26 Du könntest auch eine Ferninstallation via TeamViewer ins Auge fassen, das kommt einem Supportanruf nahe, und Du weißt, was beim Kunden eingestellt ist.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Du könntest auch eine Ferninstallation via TeamViewer ins Auge fassen, das kommt einem Supportanruf nahe, und Du weißt, was beim Kunden eingestellt ist.


    Die Kunden die das bezahlen bekommen das sowieso per Fernwartung, Vor-Ort oder bei uns in der Technik installiert. Kunden die das selbst machen möchten, bieten wir auch die Möglichkeit dazu dies selbst kostenfrei zu machen.
    Bei der Entwicklung meiner Anwendung(en) steht nicht der saubere Code im Vordergrund, sondern das Ergebnis das der Anwender schlussendlich sieht. Usability und Supportbarkeit stehen an oberster Stelle. Das spiegelt sich auch in meinen Fragen und Antworten wider.

    dive26 schrieb:

    bieten wir auch die Möglichkeit dazu dies selbst kostenfrei zu machen
    Ich denke mal, das ist der Fehler.
    Mach die Fernwartung zum Bestandteil des Projekts.
    Ich könnte mir vorstellen, dass Ihr da ruhiger fahrt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    "Fernwartung für alle" würde auch zusätzliche Mitarbeiter erfordern = Kosten. Die große Aufregung für die Signatureinheit ist in ein paar Monaten wieder vorüber und dann hast Du einen Mitarbeiter den Du nicht mehr tragen kannst. Das möchte ich nicht. Noch dazu müsste dann der Produktpreis höher sein = NOGO.
    Daher kein Bestandteil des Projekts. Bei uns bekommt jeder Kunde das was er auch bereit ist an Serviceleistungen zu bezahlen. Fernwartung zählt zu den optionalen kostenpflichtigen Dienstleistungen wie Schulung auch.

    Abschließend möchte ich noch kurz unsere Grundstrategie erklären (dann ist dieser Thread für mich geschlossen):
    Jeder Kunde der nicht gerade ein DAU bei Computern ist soll unser Produkt mit dem Handbuch selbst in Betrieb nehmen und bedienen können. Jeder der das nicht möchte kann kostenpflichtige Serviceleistungen erwerben (Fernwartung, Schulung, Installation ...). Somit haben wir ein Produkt zum konkurrenzlos günstigsten Preis. Nur so kann man die Stückzahl an Lizenzen absetzen die man zum betrieblichen Fortbestehen braucht.

    Mit unserer Firmenstrategie sind wir bereits seit 11 Jahren erfolgreich im Geschäft (1 Mio Umatz jährlich). Hier werden wir nichts großartig daran ändern ;)
    Bei der Entwicklung meiner Anwendung(en) steht nicht der saubere Code im Vordergrund, sondern das Ergebnis das der Anwender schlussendlich sieht. Usability und Supportbarkeit stehen an oberster Stelle. Das spiegelt sich auch in meinen Fragen und Antworten wider.

    dive26 schrieb:

    Meine Aufgabe ist ja gelöst.
    Zunächst alles Gute für die paar letzten Stunden des aktuellen Jahres.
    Bei meinem Neujahrsspaziergang kam mir folgende Idee:
    Du müsstest beim Start Deines Programmes Deinen Treiber explizit aufrufen, um so Windows gelegenheit zu geben, diesen ggf. nachzuladen.
    Das sieht dann etwa so aus (gugst Du hier):
    API.OpenFile("\\.\NAME_DEINES_TREIBERS", ...) ' VB
    API.OpenFile("\\\\.\\NAME_DEINES_TREIBERS", ...); // C#
    Wenn das fehlschlägt, ist der Treiber nicht geladen, dann müsstest Du diesen mit
    API.CreateFile("\\.\NAME_DEINES_TREIBERS", ...) ' VB
    laden und mit API.CloseHandle() wieder schließen.
    Setzt natürlich voraus, dass der Treiber bei Wndows registriert ist.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Danke und Prosit Neujahr.

    Die Idee ist grundsätzlich gut, bringt in meinem Fall aber nichts.

    Es handelt sich um eine fremde Software die wir per Webservice ansprechen. Auf die verwendeten Treiber haben wir leider keinen Einfluß. Wir wissen auch nicht welche Treiber genau das sind. Und es würde auch nichts nützen wenn wir wüsten welchen Treiber. Denn auch wenn wir das wie Du beschrieben hast fixen könnten, müssten wir dann immer noch den fremden Dienst neustarten, da ja dieser das Problem amcht. Das macht wesentlich mehr Mühe und Aufwand als die aktuelle Lösung.

    Jedenfalls ist mein Problem bereits gelöst worden.
    Danke nochmals.
    Bei der Entwicklung meiner Anwendung(en) steht nicht der saubere Code im Vordergrund, sondern das Ergebnis das der Anwender schlussendlich sieht. Usability und Supportbarkeit stehen an oberster Stelle. Das spiegelt sich auch in meinen Fragen und Antworten wider.
    Hallo Leute,

    ich bin diesem Beitrag noch ein Endfazit schuldig.

    Mittlwerweile haben wir festgestellt, dass bei jedem größeren Windows 10 Update diese Schnellstart-Funktion in den Energieeinstellungen automatisch von Windows wieder aktiviert wird. Damit hatten wir in den letzten Monaten sehr sehr viel unnötigen Supportaufwand.

    Nun sind wir bei der endgültigen Lösung so vorgegangen:

    1. Bei Programmstart wird überprüft ob Windows 10 installiert ist und ob "Windows-Schnellstart" aktiv ist.

    2. Treffen beide Parameter zu, dann wird in try/catch versucht den entsprechenden Registry-Eintrag zu ändern.

    3a. Punkt 2 funktioniert bei vorhandensein von Adminrechten und es kommt keine weitere Usermeldung.

    3b. Punkt 2 schlägt fehl weil das Programm keine Adminrechte hat - somit erscheint ein Hinweis die Software einmal mit der Rechten Maustaste mit "Als Administrator starten" zu starten. Das kann man auch einem Normaluser zumuten.

    Problem erledigt.

    Namhafte österreichische Kassenhersteller haben bereits bei uns nachgefragt wie wir das machen - weil die das selbe Problem haben und bis jetzt nicht draufgekommen sind woran es liegt. Da wir seit 2015 mit dem zweitgrößten Fiscal-Middleware-Anbieter "EFSTA" sehr eng in der Entwicklung zusammenarbeiten, haben wir diese Lösung natürlich auch mit deren Kunden (unserem Mitbewerb) geteilt.

    LG Roland
    Bei der Entwicklung meiner Anwendung(en) steht nicht der saubere Code im Vordergrund, sondern das Ergebnis das der Anwender schlussendlich sieht. Usability und Supportbarkeit stehen an oberster Stelle. Das spiegelt sich auch in meinen Fragen und Antworten wider.