2016-09-29 4 views
-1

Wir haben ein VB6-Programm (entwickelt über viele Jahre), das von uns auf Kunden Maschinen installiert wird. Ich habe jetzt ein VB.Net-Programm zu dem Mix hinzugefügt, der unter bestimmten Umständen vom VB6-Programm ausgeführt wird (ShellExecute). Gibt es eine Möglichkeit, dass ich verhindern kann, dass Kundencomputer (die W7/8/10 ausführen) das UAC-Dialogfeld öffnen? Die VB.Net prog hat ein Manifest, das alle Sachen enthält, die andere vorgeschlagen haben und keinen Unterschied machen:VB6 aktiviert VB.Net ohne UAC

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 
    </requestedPrivileges> 
    <applicationRequestMinimum> 
    <defaultAssemblyRequest permissionSetreference="FullTrust"  permissionSetReference="FullTrust" />" 
    <PermissionSet version="1" ID="FullTrust" unrestricted="true" SameSite="site" Unrestricted="true"> 
    <IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> 
    </PermissionSet></applicationRequestMinimum> 

Jede Hilfe Prost Dave

+3

Neben deaktivieren UAC auf dem Client-Computer, der ist wahrscheinlich nicht das, was Sie suchen. Wenn Sie die Möglichkeit hätten, dass ein Programm die Benutzerkontensteuerung umgehen könnte, wäre die UAC völlig nutzlos. Wenn Sie jedoch erkennen können, was der .Net-Code vornimmt, ist Zugriff auf die Administratorebene erforderlich. Möglicherweise können Sie den .NET-Code ändern und umgehen. Zum Beispiel habe ich ein Programm geschrieben, das auf einige XML-Dateien zugreift, die im Verzeichnis "Programme" gespeichert wurden. Dies erfordert Administratorzugriff. Ich habe den Speicherort der XML-Dateien in einen App Data-Ordner geändert, und der Administratorzugriff wurde nicht mehr benötigt. –

+0

Ich bin mir nicht sicher, was den UAC - Access verursacht, indem ich shellexecute oder .Net mache, indem ich etwas 'illegal' mache. Ich greife auf 3 Dateien im .net prog zu, die ich zu ProgramData verschoben habe und auf sie dort zugreife (macht keinen Unterschied), aber ich mache auch viel SQL reads.writes usw. - könnte das die Ursache sein? – DaveCSS

+0

Ruft die vb.net-Anwendung die UAC auf, wenn sie direkt ausgeführt wird (ohne vb6-Wrapper)? – IvanH

Antwort

0

Gelöst ... Changed die ShellExecute dankbar empfangen in der VB6 Prog zu einer Shell und Problem gelöst