Programm startet nicht aus C:\Programme (x86)\...

  • C#
  • .NET (FX) 4.0

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Pardasus.

    Programm startet nicht aus C:\Programme (x86)\...

    Moin,
    habe mit dem INNO Setup-Tool etwas herumgespielt und dabei ist mir aufgefallen, dass mein Programm in C:\Programme (x86)\Test\blabla.exe nicht gestartet wird.
    Kopiere ich das Programm wo anders hin z.b. Laufwerk D:\, läuft es.

    Nutze Windows 10 mit Creator Update.

    Muss ich bei INNO noch etwas speziell dafür einstellen oder fehlt mir etwas in mein Programm (C#)?
    Meine Glasskugel sagt: Berechtigungen

    Die Aussage "mein Programm in ... nicht gestartet wird" ist eine sehr detaillierte Fehlerbeschreibung ... nicht.
    Naja, es ist das was eben passiert. Es starte nicht, also habe ich auch keine Fehlermeldung, welche ich sonst erwähnt hätte.
    Was für Infos fehlen dir denn noch?

    Hat mit Sicherheit etwas mit Berechtigungen zu tun, darum erwähnte ich mein Betriebssystem und das es nicht an mein Programm grundsätzlich liegt, mit der Aussage das es in einem anderen Verzeichnis startet.

    Konnte mittlerweile auch heraus bekommen, dass es nichts mit INNO zu tun hat. Wenn ich das Programm Manuel in das Verzeichnis lege, startet es auch nicht. Also folgere ich, dass Ich meinen Programm irgendwas mitgeben muss, damit es in C:\Programme (x86) starten "darf".
    Das die Anwendung als Administrator läuft, deutet ebenfalls auf ein Problem mit den Berechtigungen hin.
    Das ist deine Anwendung, du müsstest wissen was wann passiert ... wir können nur raten.
    Was macht die denn wenn sie startet? Versuchst du eine Datei im selben Ordner zu erstellen? Debug deine Anwendung oder bastel ein provisorisches Logging ein.
    @Pardasus: Du kannst zwar Deinem Programm von Haus aus Admin-Rechte mitgeben, ist aber insofern problematisch, da das immer darauf hinweist, dass im Programm irgendwas passiert, was ein normaler Nutzer nicht könnte, also z.B. Registry ändern, Befehle an andere Fenster schicken (inkl. Steuerung jener Fenster). Es stellt sich die Frage, ob das unbedingt sein muss, da die Nutzer m.E. dann irgendwie auch darüber informiert werden sollten, wo der tiefere Eingriff im System stattfindet und sie selber entscheiden, ob sie das wollen. Ein Programm, welches automatisch mit AdminRechten ausgestattet ist, kann bei etwas vorsichtigen Nutzern immer Zweifel auslösen.

    Problembehebung:
    Menü "Projekt" -> "DeinProjektname-Eigenschaften" -> |Anwendung| -> [Windows-Einstellungen anzeigen]:
    (normalerweise Zeile 19): <requestedExecutionLevel level="asInvoker" uiAccess="false" /> in <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> ändern.
    asInvoker = gleiche Rechte wie der, der das Programm aufruft
    requireAdministrator = mit AdminRechten aufrufen
    Es gibt zwar noch highestAvailable, aber wer von den Forennutzer brauchte das bisher in welcher Situation?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @Pardasus Worauf greift denn Dein Programm noch so zu?
    Auf welche Pfade greift es zu?
    Eigentlich sollte es problemlos ohne Admin-Rechte funktionieren.
    Schieb mal eine Debug-Version in den 86er Pfad und starte das Programm aus der Entwicklungsumgebung dort (Ausführungspfad setzen).
    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).
    Programmierfragen über PN / Konversation werden ignoriert!
    Mmmmh... der Tipp mit dem "Erstellt dein Programm eine Datei?" war gut. Da hätte ich auch selbst drauf kommen können.
    Schon beim Installieren fragt er mich nach Admin rechte. Dann ist natürlich klar, dass mein Programm in C:\Programme (x86)\ ohne Admin-Rechte keine Datei erstellen darf...

    Dann erstelle ich die Datei eben wo anders. Danke für eure Unterstützung!