Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Warum startet VB-anwendung in win7 für nur mit admin-Rechten?

74 views
Skip to first unread message

Thomas Hoffmann

unread,
Jan 12, 2013, 1:09:55 PM1/12/13
to
Moin
nach upgrade auf win7: habe von meinen VB6-Programmen eines, das startet auf meinem
Win7-PC immer mit der Abfrage: 'Als Admin starten'. Auf einem anderen Win7-PC tut es das
gleiche Programm nicht. Alle anderen meiner Vb-Programme erfragen nicht diese admin-Rechte.
Ich wᅵᅵte nun gerne, was das ausmacht, warum Win7 ein bestimmtes Programm mit
admin-Berechtigung starten mᅵchte oder warum nicht, damit ich das fᅵr dieses Programm
abstellen kann. (Das Abstellen ist deswegen besonders wichtig, da das Programm in
'Autostart' liegt, und so ohne Abfrage beendet wird aus Autostart heraus

Fᅵr mich interessant ist, dass z.B. der 'DateiCommander' im Menᅵ einen Punkt hat, den man
an- oder abwᅵhlen kann, der heiᅵt 'Dateicommander nicht mit Admin-Rechten starten' und
bewirkt genau das: Man bekommt beim Start eine Abfrage ob mit admin-Rechten gestartet
werden soll bzw. bekommt keine Abfrage.

Was ist das in der exe, das das auslᅵst? Wie kann ich das in VB6 beeinflussen

Gruᅵ und Dank!
Thomas

Christoph Sternberg

unread,
Jan 12, 2013, 2:15:54 PM1/12/13
to

Thomas Hoffmann meinte:

>Was ist das in der exe, das das ausl�st? Wie kann ich das in VB6 beeinflussen

<k8i9nq$mpr$1...@dont-email.me>

Christoph Sternberg */\

W. Wolf

unread,
Jan 13, 2013, 4:10:20 AM1/13/13
to

"Thomas Hoffmann" <th...@nurfuerspam.de> schrieb im Newsbeitrag news:kcs8t2$69h$1...@news.albasani.net...
> Moin
> nach upgrade auf win7: habe von meinen VB6-Programmen eines, das startet auf meinem Win7-PC immer mit der Abfrage: 'Als Admin
> starten'. Auf einem anderen Win7-PC tut es das gleiche Programm nicht.

[...]

Gibt sicher viele Mᅵglichkeiten, die hier fallen mir spontan ein:

Als erstes wᅵrde ich mal die Eigenschaften der exe prᅵfen,
ob da nicht eine Kompatibilitᅵt zu ᅵlterem Windows besteht.
An dieser Stelle auch gleich die Checkbox prᅵfen, die
explizit die Admin-Rechte festlegt. Als nᅵchstes kᅵnntest
Du Programmteile auskommentieren, also radikal interne Funktionen
abschalten und die Auswirkung testen. Vielleicht machen deine
Programme beim Start irgendwas, was die Admin-Rechte erforderlich macht.

Vor nicht all zu langer Zeit durfte ich erfahren, dass Windows
auch solche Sachen wie Dateiname und Versionsinformationen
auswertet. Sobald hier irgendwas mit "Update", "Setup" usw. drin
steht, schlᅵgt die Admin-Abfrage zu.

Kᅵnnten sich deine beiden Win7 dadurch unterscheiden, dass der
UAC mal ein mal aus ist?

Schᅵnen Gruᅵ
W. Wolf

G.Wietzorek

unread,
Jan 13, 2013, 9:46:43 AM1/13/13
to
Am 12.01.2013 19:09, schrieb Thomas Hoffmann:
> Moin
> nach upgrade auf win7: habe von meinen VB6-Programmen eines, das startet
> auf meinem Win7-PC immer mit der Abfrage: 'Als Admin starten'. Wie kann ich das in VB6
> beeinflussen
>

Kompiliere einfach ein Manifest ein, das Windows mitteilt, dass Dein
Programm keine Admin Rechte benᅵtigt - dann brauchst Du Dir keinen Kopf
machen, was die Windows Automatik anstellt.

Gert


--
"Probleme kann man niemals mit derselben Denkweise lᅵsen, durch die sie
entstanden sind."
Albert Einstein

Thomas Hoffmann

unread,
Jan 13, 2013, 12:23:19 PM1/13/13
to
Sicherheitseinstellungen sind bei beiden PCs identisch
Gruᅵ Thomas

Thomas Hoffmann

unread,
Jan 13, 2013, 12:24:32 PM1/13/13
to
Hallo Gert,
das mit dem Manifest habe ich fᅵr dotnet gelesen.
Wie funzt das in VB6? Kannst Du mir da einen link posten?
Danke
Thomas

G.Wietzorek

unread,
Jan 13, 2013, 1:48:57 PM1/13/13
to
Am 13.01.2013 18:24, schrieb Thomas Hoffmann:
> Hallo Gert,
> das mit dem Manifest habe ich fᅵr dotnet gelesen.
> Wie funzt das in VB6?


Du brauchst eine Ressourcen Datei, die Du in der IDE dann einbindest.
Der Ressourceneditor von VB kann keine Ressource vom Typ RT_MANIFEST
(24) erstellen, also musst Du zuvor die Ressource mit rc.exe (auf der
Prof CD drauf) kompilieren. Achte darauf, dass die Manifest Ressource
ein Vielfaches von 4 Byte gross ist, sonst klappt es (zumindest unter
Windows 7) nicht und Dein Programm wird nicht starten (deshalb unten die
Leerzeichen vor level="...)

Du brauchst also

1. Das Manifest (hier mal ein Beispiel eines meiner Programme, solltest
Du einfach anpassen kᅵnnen) - speichern hier z.B. als ebIExmanifest.txt

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
processorArchitecture="X86"
name="ebIEx.exe"
type="win32"/>
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="AsInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*" />
</dependentAssembly>
</dependency>
</assembly>

2. eine .rc Datei, die (zumindest) auf das manifest verweist (hier
gespeichert als ebIEx.rc)

Inhalt hier:

1 24 ebIExmanifest.txt

3. rc.exe entsprechend aufrufen (am einfachsten per Batch, falls Du hier
hᅵufiger mal was ᅵnderst)

cd "MANIFEST_PFAD"
[RC_Pfad\]rc.exe ebIEx.rc

4. Die erhᅵltst im gleichen Ordner die Datei ebIEX.res (im Beispiel)

5. IDE starten. Ggf. ᅵber AddIn-Manager den Ressourcen-Editor laden

6. Ressourcen Editor aufrufen

7. res Datei ᅵffnen

8. Projekt kompilieren

9. Testen

that's it


Gert

Thomas Hoffmann

unread,
Jan 13, 2013, 5:45:14 PM1/13/13
to
Vielen Dank Christoph,
"Das ist eine Message-ID. Das gleiche Thema wurde hier kurz vorher behandelt."
Tut mir echt leid, aber ich komme damit nicht klar.
Ich habe den Thread bis 11'12 durchsucht aber kann nix finden und mit Deiner Message-ID
kann ich auch nix anfangen.
Thomas



>
> <k8i9nq$mpr$1...@dont-email.me>
>
> Christoph Sternberg */\
>

Winfried Sonntag

unread,
Jan 13, 2013, 6:09:51 PM1/13/13
to
Am 13.01.2013 schrieb Thomas Hoffmann:


> "Das ist eine Message-ID. Das gleiche Thema wurde hier kurz vorher behandelt."
> Tut mir echt leid, aber ich komme damit nicht klar.
> Ich habe den Thread bis 11'12 durchsucht aber kann nix finden und mit Deiner Message-ID
> kann ich auch nix anfangen.

Hier ist das Posting:
https://groups.google.com/forum/?fromgroups=#!msg/de.comp.lang.vbclassic/yQHiAMDlPS0/pT4hOvm5SbsJ

Servus
Winfried
--
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

Thomas Hoffmann

unread,
Jan 13, 2013, 6:53:17 PM1/13/13
to
Hi Gert,
das war eine gute Anleitung. Zusammen mit einigem aus dem Internet habe ich das (fast)
hinbekommen:

meine Losungen.exe.manifest-datei: (488 bytes)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
name="Losungen.exe"
type="win32"/>
<!-- das ist notwendig: -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="AsInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>


(lt. http://msdn.microsoft.com/en-us/library/windows/desktop/aa374191%28v=vs.85%29.aspx
ist processorArchitecture nicht erforderlich)

rc.exe ist auf meinem PC 3x vorhanden, ich habe die genommen
C:\Program Files (x86)\Microsoft Visual Studio\VB98\Wizards\RC.EXE
die anderen liegen in
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\RC.Exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\RC.Exe
ich denke, die kommen nicht in Frage.

meine rc-Datei enthᅵlt
1 24 "Losungen.exe.manifest"

Kompilieren klappt, es wird eine RES-Datei erzeugt.
Habe die eingebunden, Losungen kompiliert.

Leider ᅵndert das ᅵberhaupt nix am Verhalten der Losungen.exe. Bekomme weiter meinen
Nagscreen: 'Mᅵchten Sie zulassen, dass durch ... Verᅵnderungen am Computer vorgenommen
werden."

Gruᅵ Thomas





>
> 9. Testen
>

Thomas Hoffmann

unread,
Jan 13, 2013, 7:10:56 PM1/13/13
to
Vielen Dank Winfried,
was Martin da mit

"bis mir endlich in den
Eigenschaften etwas aufgefallen ist:
Unter Original Filename, Interner Name oder Description stand irgendwo
noch "Updater ...""

meint ist mir nicht klar.
Meint er die Eigenschaften des Projektes in VB6 oder die Eigenschaften der kompilierten exe.
Ich finde weder hier noch dort sein Original Filename usw.

Gruᅵ Thomas

G.Wietzorek

unread,
Jan 13, 2013, 10:56:10 PM1/13/13
to
Hallo Thomas,

> Kompilieren klappt, es wird eine RES-Datei erzeugt.
> Habe die eingebunden, Losungen kompiliert.

Projekt gespeichert und danach kompiliert?

>
> Leider ᅵndert das ᅵberhaupt nix am Verhalten der Losungen.exe. Bekomme
> weiter meinen Nagscreen: 'Mᅵchten Sie zulassen, dass durch ...
> Verᅵnderungen am Computer vorgenommen werden."

Dazu fᅵllt mir nur "Windows Manifest Cache" ein. Hast Du mal eine
[exename].Manifest im Ordner der Exe gehabt (aus dem Grund nenne ich die
auch .txt)? ᅵndere mal den Ordner Namen in dem die Exe liegt und stell
sicher, das in dem Ordner diese Datei nicht ist und starte die Exe ERST
DANN - gehts danach auch nicht? (ᅵbrigens welches BS - Vista oder 7?)

Ansonsten sollte entweder eine Fehlermeldung "ungᅵltige Side by Side
Konfiguration" bei fehlerhaften Manifest kommen oder es funktionieren.

Setze das Manifest ansonsten doch mal bewusst auf requireAdministrator
um zu sehen, ob das Shield erscheint, also das Manifest tatsᅵchlich
korrekt drin ist - oder sieh mit einem Ressourcen Viewer in die fertige
Exe, ob das Ding da wirklich drin ist - so ein Verhalten habe ich
bislang bei keinem meiner Programme feststellen mᅵssen. Das
Beispielmanifest funktioniert ᅵbrigens auch ;-).

Gert

--

Thomas Hoffmann

unread,
Jan 14, 2013, 1:40:10 AM1/14/13
to
Moin Gert,
unglaublich: Heute morgen nach dem Start klappt das. Kein Admin-Hinweis mehr. Seltsam.
Gestern hat das icon der exe vorᅵbergehend noch dieses Schild (Gelb-blau) rechts unten
gehabt, das auch links im popup-menᅵ erscheint bei Rechtsklick auf eine Exe, vor "Als
Administrator ausfᅵhren".

ᅵbrigens: die 'ungᅵltige side by side Konfiguration' hatte ich gestern zur Genᅵge. Habs
dann aber wegbekommen.

Vielen Dank nochmal!!

Schᅵnen Tag, TH

Winfried Sonntag

unread,
Jan 14, 2013, 4:00:34 PM1/14/13
to
Am 14.01.2013 schrieb Thomas Hoffmann:


> Vielen Dank Winfried,
> was Martin da mit
>
> "bis mir endlich in den
> Eigenschaften etwas aufgefallen ist:
> Unter Original Filename, Interner Name oder Description stand irgendwo
> noch "Updater ...""
>
> meint ist mir nicht klar.

IMHO meint er in den Eigenschaften des Projektes.
0 new messages