Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [gelöst] ShellExecute für Setup.exe ohne Abfrage (https://www.delphipraxis.net/130250-%5Bgeloest%5D-shellexecute-fuer-setup-exe-ohne-abfrage.html)

SvB 5. Mär 2009 13:51


[gelöst] ShellExecute für Setup.exe ohne Abfrage
 
Hi, in meinem Programm lade ich eine Setup.exe herunter und starte es mit ShellExecute. Der Rechner ist in einer Domäne und als User angemeldet. Leider kommt dabei immer ein Dialog, ob es als Benutzer oder als Admin gestartet werden soll. Das Setup kann allerdings als User gestartet werden. Es werden keine Adminrechte benötigt. Jetz habe ich noch gelesen, dass das wohl daher kommt, das die Datei halt Setup.exe heißt.
1. Kann man es trotzdem irgendwie hinbekommen, dass dieser doofe Dialog nicht kommt?
2. Bei welchen Dateinamen kommt dieser Dialog? Gibt es da irgendwo eine Liste?

Danke, Sven

[Edit]Titel geändet[/Edit]

Bernhard Geyer 5. Mär 2009 13:58

Re: ShellExecute für Setup.exe ohne Abfrage
 
Unter Welchen OS tritt der "Fehler" auf? XP/Vista/Windows 2008?
Hat die Setup.exe ein passendes Manifest das sie keine Adminrechte benötigt?

jaenicke 5. Mär 2009 13:59

Re: ShellExecute für Setup.exe ohne Abfrage
 
Immer, wenn Update, Setup oder Install im Namen vorkommen, werden unter Vista automatisch Adminrechte angefordert.

Aber wenn es sich um ein normales Setup (z.B. von InnoSetup) handelt, dann wird diese Abfrage auch bei anderen Dateinamen kommen, wenn das nicht deaktiviert wird.

SvB 5. Mär 2009 14:05

Re: ShellExecute für Setup.exe ohne Abfrage
 
Habe ich ganz vergessen, beim Rechner handelt es sich um Windows XP Pro.
Es ist ein Setup mit InnoSetup, es ist dort aber "PrivilegesRequired=none" eingestellt.

Bernhard Geyer 5. Mär 2009 14:12

Re: ShellExecute für Setup.exe ohne Abfrage
 
Unter XP Könnte sein das nur der Name ausgewertet wird wenn es von einem Netzlaufwerk gestartet wird.

*Update*, *setup*, *install* sind "gefährliche" Namen, sowohl als Dateinamen als auch in den Dateiinfos.

SvB 5. Mär 2009 14:14

Re: ShellExecute für Setup.exe ohne Abfrage
 
Mmmhhh, das muss ich dann noch mal etwas probieren.
Die Setup.exe liegt auf Laufwerk C: in einem Unterodner.
Wenn ich die Setup.exe aus dem Explorer aufrufe, kommt keine Abfrage.

Danke, Sven

SirThornberry 5. Mär 2009 14:14

Re: ShellExecute für Setup.exe ohne Abfrage
 
Ich könnte mir vorstellen das es nur bei Verwendung von ShellExecute so ist denn wie der Name schon sagt ist es so als ob man es in der Shell startet. Hast du es schonmal mit CreateProcess versucht?

SvB 5. Mär 2009 15:38

Re: ShellExecute für Setup.exe ohne Abfrage
 
Habe es jetzt auf CreateProcess umgestellt und die Abfrage kommt jetzt nicht mehr.

Nochmals vielen Dank an alle.

Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz