Forum: Win32/Win64 API (native code)
by jaenicke,
25. Okt 2013
Ohne das richtig zu machen, wirst du die Meldung mit dem Speichern natürlich nicht los.
Die Sicherheitswarnung kannst du nur beheben indem du deine Software mit einem Zertifikat versiehst. Denn die Warnung sagt ja genau aus, dass der Herausgeber nicht verifiziert werden kann. Und das kann Windows nur über ein gültiges Zertifikat.
Aber trotzdem ist deine "Lösung" von hinten durch beide...
Forum: Win32/Win64 API (native code)
by jaenicke,
24. Okt 2013
Ich habe keine Zeit, habe aber mal ganz kurz geschaut, ins Auge gesprungen sind mir diese Funktionen:
CreateRestrictedToken
CreateProcessWithToken
Ob es das ist, kann ich jetzt nicht schauen.
Forum: Win32/Win64 API (native code)
by jaenicke,
23. Okt 2013
Der Adminprozess hat die Zugriffsmöglichkeit aber gerade nicht, nur der normale Benutzer. Deshalb ist das was du beschreibst das Problem und nicht die Lösung.
Forum: Win32/Win64 API (native code)
by jaenicke,
23. Okt 2013
Und noch einmal:
Es geht darum aus einem Adminprozess einen Prozess im Usermode zu starten, nicht umgekehrt. Adminrechte hat er dank Manifest schon.
Forum: Win32/Win64 API (native code)
by jaenicke,
23. Okt 2013
Wie ich schon schrieb:Wie diese Installer das machen, weiß ich selbst nicht genau. Es gibt zwar CreateProcessAsUser usw., aber damit habe ich mich nie beschäftigt...
Forum: Win32/Win64 API (native code)
by jaenicke,
23. Okt 2013
Wie schon geschrieben, es gibt für jeden Benutzer zwei Token, eines mit und eines ohne Adminrechte. Das siehst du am Benutzernamen nicht.
Das siehst du z.B. im Taskmanager in der Spalte Heraufgestuft, ich glaube die gab es auch bei Windows 7 schon.
Du musst den neuen Prozess mit dem normalen Benutzertoken starten wie ich schon geschrieben habe um dessen Rechte zu haben.
Forum: Win32/Win64 API (native code)
by jaenicke,
22. Okt 2013
Ja, den Zusammenhang, dass du eingangs von Adminrechten gesprochen hast und beim letzten Post von Netzwerkpfaden hatte ich übersehen. :oops:
Es ist so, dass ein Programm ebenfalls Adminrechte hat, wenn es von einem anderen Programm mit Adminrechten gestartet wird. Netzlaufwerke sind aber im Adminkontext nicht vorhanden, wenn sie nicht auch für das Admintoken des Users angelegt sind.
Deshalb...
Forum: Win32/Win64 API (native code)
by jaenicke,
22. Okt 2013
Ich rate mal:
Die Exe liegt unter c:\program files bzw. c:\programme? Und der Pfad, den du nutzt, lautet c:\programme\...?
Da c:\programme auf c:\program files umgeleitet wird, funktioniert der Start durchaus. Eigene Dateizugriffe aber nicht. Kann das so etwas sein?
Wenn das Delphi 7 bereits unterstützt, kannst du in den Debugger-Optionen die Option "Debug in Spawned-Prozessen" aktivieren um...
Forum: Win32/Win64 API (native code)
by jaenicke,
21. Okt 2013
Wie sieht denn dein CreateProcess aus?
Ich vermute ein Pfadproblem.
Worauf genau da versucht wird zuzugreifen usw. siehst du am einfachsten im Process Monitor von Sysinternals / Microsoft.