Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Guida alla risoluzione dei problemi (https://www.hwupgrade.it/forum/forumdisplay.php?f=129)
-   -   Vista/7 - Utilizzare VB6 con UAC attivo (registrare componenti non supportate) (https://www.hwupgrade.it/forum/showthread.php?t=2059938)


Saltalungo 04-10-2009 17:16

Vista/7 - Utilizzare VB6 con UAC attivo (registrare componenti non supportate)
 
Buonasera a tutti.
Premetto che mi sono già documentato in rete, ma non ho trovato soluzioni soddisfacenti.
Il problema è il seguente: con UAC attivato a livello standard, una applicazione VB6 con componente mswless.ocx parte ma da problemi. Con UAC disattivato funziona perfettamente.
Ho provato a settare l'applicazione per partire con privilegi di amministratore, ma ripristinando l'UAC a livello standard da lo stesso problema.
In rete leggo che mswless.ocx non è supportato....non è del tutto vero però, visto che con UAC disattivato funziona tutto perfettamente :mbe:
Qualcuno di voi ha avuto problemi simili? E sopratutto, sa per caso come risolvere? L'UAC bisogna tenerlo a livello standard per forza...

Grazie!



----------------------------------------------

Ho installato VB6, Office 2007 e degli "oggetti Sheridan" (Calendar e Data Widgets) sotto Win 7. Tutto questo perchè ho la necessità di fare andare un programma VB6 sotto Win 7 con UAC a livello standard.
Il primo problema incontrato è stato con un file chiamato mswless.ocx che anche se correttamente unito al registro di sistema, non ne voleva sapere di essere caricato sotto VB6. Grazie a questo file bat sono riuscito a far riconoscere correttamente a VB6 il file mswless.ocx. Durante tutti questi passaggi eseguo sempre VB6 NON come admin.
Il secondo problema è stato che eseguendo VB6 normalmente registrava appunto il file mswless.ocx ma non gli oggetti Sheridan....Se eseguivo VB6 come admin riuscivo a caricare gli oggetti Sheridan ma non mwsless.ocx. Ho registrato COME ADMIN nel registro di sistema gli .ocx degli oggetti Sheridan, ed eseguito quella che sembra essere stata la mossa giusta: abbassare il livello dell'UAC a zero, riavviare il computer come richiesto, dopodichè in VB6 le componenti Sheridan sono state caricate subito senza problemi (eseguendo VB6 sempre NON come admin. Quindi oltre agli mswless.ocx ora avevo anche gli .ocx della Sheridan). Dopodichè ho rialzato il livello dell'UAC a standard, ho provato a far partire VB6 e non mi ha dato problemi, ho aperto il mio progetto con oggetti Windowsless e Sheridan ed è stato caricato correttamente :)

Spero possa essere utile a qualcuno. Ricordo che io ho fatto queste prove perchè avevo necessità di vedere che problemi potevano esserci con questo mio programma VB6 vecchio di anni sotto Win 7 e che le prove erano finalizzate a fare andare il programma sotto un ambiente di lavoro, quindi il problema dell'UAC per me era molto grave, non potevo assolutamente lasciarlo abbassato.

Saltalungo 05-10-2009 12:27

Nessuno? :( :help:

ezio 09-10-2009 21:17

Probabilmente la mancanza di supporto deriva proprio dall'incompatibilità con UAC.
Qui una tabella dei file supportati e non di VB6: http://msdn.microsoft.com/en-us/vbrun/ms788708.aspx

Hai pensato alla possibilità di avviare l'applicazione in oggetto tramite l'XP mode (puoi farlo dal menu Start di 7 direttamente, senza caricare tutta la finestra della macchina virtuale).

Saltalungo 09-10-2009 21:36

Grazie per la risposta ezio. Quel link l'avevo visto e purtroppo tra gli Unsupported Runtime Files c'è proprio il famigerato mswless.ocx. Io però continuo a non capire questa "incompatibilità" con l'UAC: è una componente di VB6, perchè da questi problemi?
L'ho "unito" al registro di sistema senza problemi.
L'XP mode purtroppo non è una soluzione che posso adottare :( sto facendo prove proprio per poter upgradare dei pc aziendali da XP a Win 7....e questo sw è fondamentale.
VB6 bisogna eseguirlo come amministratore o da problemi.
Ho provato a settare tutte le compatibilità disponibili ma nessuna da risultati.
Ma il problema è l'UAC, ci deve essere un modo per dirgli che quella applicazione deve essere eseguita anche con UAC a livello standard, e non solo con UAC disabilitato :muro:

Saltalungo 10-10-2009 11:59

Aggiornamento (magari torna utile anche ad altri):

Dopo svariate ricerche ho trovato questo LINK in cui è presente un file.bat. Purtroppo sono ignorante in materia e non so bene cosa registri, ma dopo averlo eseguito sono riuscito a installare il maledetto mswless.ocx senza che mi desse errore!! :D :D

Dopo provo a eseguire il mio .exe ma già così per me è un enorme passo avanti!

Khronos 10-10-2009 12:50

è un componente di VB6, ma VB6 non è stato creato sotto Vista, e non sa che la registrazione di dll è protetta da più di un meccanismo.
quindi probabilmente l'applicativo VB6 all'installazione ha registrato in malo modo la dll nel sistema, e tu con il .bat hai registrato la dll in Vista come Vista comanda. ^^

Saltalungo 10-10-2009 21:12

Ho quasi risolto :D dopo aver registrato altri due ocx avevo ancora problemi con VB6 (gli ocx sono della Sheridan), ho disabilitato l'UAC, ho installato correttamente come componenti gli ocx, rialzato l'UAC e tutto funzia.
Credo che quel .bat sia servito tanto, oltre ad alcune modifiche nel registro di sistema.
L'ultima prova (ma questa domani :p ) è creare un account standard e vedere un pò come installarlo, ma questo è il minore dei problemi.
Sono veramente felice :D

ezio 11-10-2009 09:50

Ottimo :)
PS: se riesci a inserire in modo dettagliato tutti i passaggi nel primo post, si potrebbe spostare il thread nella sezione per la risoluzione dei problemi ;)

Saltalungo 11-10-2009 11:19

Dunque, ci provo :fagiano: le guide non sono il mio forte...

"Al massimo guardala tu ezio, che sei più bravo e <in cinque minuti :D > fai tutto (cit. ragazzo del pc)
----------------------------------------------

Ho installato VB6, Office 2007 e degli "oggetti Sheridan" (Calendar e Data Widgets) sotto Win 7. Tutto questo perchè ho la necessità di fare andare un programma VB6 sotto Win 7 con UAC a livello standard.
Il primo problema incontrato è stato con un file chiamato mswless.ocx che anche se correttamente unito al registro di sistema, non ne voleva sapere di essere caricato sotto VB6. Grazie a questo file bat sono riuscito a far riconoscere correttamente a VB6 il file mswless.ocx. Durante tutti questi passaggi eseguo sempre VB6 NON come admin.
Il secondo problema è stato che eseguendo VB6 normalmente registrava appunto il file mswless.ocx ma non gli oggetti Sheridan....Se eseguivo VB6 come admin riuscivo a caricare gli oggetti Sheridan ma non mwsless.ocx. Ho registrato COME ADMIN nel registro di sistema gli .ocx degli oggetti Sheridan, ed eseguito quella che sembra essere stata la mossa giusta: abbassare il livello dell'UAC a zero, riavviare il computer come richiesto, dopodichè in VB6 le componenti Sheridan sono state caricate subito senza problemi (eseguendo VB6 sempre NON come admin. Quindi oltre agli mswless.ocx ora avevo anche gli .ocx della Sheridan). Dopodichè ho rialzato il livello dell'UAC a standard, ho provato a far partire VB6 e non mi ha dato problemi, ho aperto il mio progetto con oggetti Windowsless e Sheridan ed è stato caricato correttamente :)

Spero possa essere utile a qualcuno. Ricordo che io ho fatto queste prove perchè avevo necessità di vedere che problemi potevano esserci con questo mio programma VB6 vecchio di anni sotto Win 7 e che le prove erano finalizzate a fare andare il programma sotto un ambiente di lavoro, quindi il problema dell'UAC per me era molto grave, non potevo assolutamente lasciarlo abbassato.

ezio 11-10-2009 13:13

Quote:

Originariamente inviato da Saltalungo (Messaggio 29233529)
"Al massimo guardala tu ezio, che sei più bravo e <in cinque minuti :D > fai tutto (cit. ragazzo del pc)

:ahahah: :asd:
Grazie mille per il contributo, le tue indicazioni torneranno sicuramente utili ad altri ;)

Saltalungo 11-10-2009 13:37

Figurati, è un piacere :)
Ora sto per fare la prova "definitiva", cioè creare l'.exe e poi installarlo su un account utente standard. Ho già riscontrato il primo errore: eseguendo VB6 NON come admin mi da errore di sistema, relativo agli ocx della Sheridan. Avviandolo in modalità admin fila tutto liscio :fagiano:
Aggiornerò il primo post quando avrò DEFINITIVAMENTE risolto ;)

P.S. puoi modifcare il titolo per favore?

"Vista-Win7 - Utilizzare VB6 ....", ho seguito parecchie guide che parlavano dello stesso problema sotto Vista (ovvio, è l'UAC a dare problemi....)

;)

ezio 11-10-2009 14:12

Fatto.

Saltalungo 11-10-2009 17:15

Mi sono rotto le palle :asd: con UAC disattivato va che è una bellezza, con UAC attivato bisogno eseguirlo come admin e va che è una bellezza.
Il problema, come dicevo, è che impostando un account utente chiede la pass per poterlo eseguire, e non va bene, in una situazione aziendale potete ben capire che dare la pass ai dipendenti può comportare gravi danni.
Il problema è che se nelle proprietà di Compatibilità gli dico di eseguirlo come amministratore per tutti gli utenti, con l'account standard mi chiede la pass.
Non trovo il modo per poter ovviare a questo problema, ho cercato in internet e ho trovato questo: http://blog.tiensivu.com/aaron/archi...tion-only.html e questo http://www.microsoft.com/downloads/d...DisplayLang=en ma non funzionano.....

Il problema è relativo, il programma sotto Win 7 funziona, sia con UAC attivo che disattivo.

Alla fine di tutto questo, domanda per voi: come posso fare per far eseguire il programma con UAC attivo, privilegi di amministratore ma senza dover inserire la pass?
Altra cosa che mi sembra strana: perchè non mi chiede di memorizzare la pass per quel programma, o comunque di memorizzare le impostazioni? A quel punto inserirei la pass una volta, e sarei apposto.

Grazie

Saltalungo 19-11-2009 00:16

Quote:

Originariamente inviato da Saltalungo (Messaggio 29237871)
Mi sono rotto le palle :asd: con UAC disattivato va che è una bellezza, con UAC attivato bisogno eseguirlo come admin e va che è una bellezza.
Il problema, come dicevo, è che impostando un account utente chiede la pass per poterlo eseguire, e non va bene, in una situazione aziendale potete ben capire che dare la pass ai dipendenti può comportare gravi danni.
Il problema è che se nelle proprietà di Compatibilità gli dico di eseguirlo come amministratore per tutti gli utenti, con l'account standard mi chiede la pass.
Non trovo il modo per poter ovviare a questo problema, ho cercato in internet e ho trovato questo: http://blog.tiensivu.com/aaron/archi...tion-only.html e questo http://www.microsoft.com/downloads/d...DisplayLang=en ma non funzionano.....

Il problema è relativo, il programma sotto Win 7 funziona, sia con UAC attivo che disattivo.

Alla fine di tutto questo, domanda per voi: come posso fare per far eseguire il programma con UAC attivo, privilegi di amministratore ma senza dover inserire la pass?
Altra cosa che mi sembra strana: perchè non mi chiede di memorizzare la pass per quel programma, o comunque di memorizzare le impostazioni? A quel punto inserirei la pass una volta, e sarei apposto.

Grazie

Un aiutino da casa per favore? :help:

Saltalungo 10-04-2014 10:24

Resta ancora il problema pass, a distanza di 4 anni e mezzo ci sono novità?


Tutti gli orari sono GMT +1. Ora sono le: 04:47.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.