Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Registrazione di OCX in Windows Vista

Mi sto scontrando con i primi problemini di programmazione in Windows Vista :-) Non si tratta, in questo caso, di un problema specifico per .NET, dal momento che la questione riguarda la registrazione di componenti ActiveX.

Avevo la necessità di registrare manualmente un ActiveX utilizzato da una mia vecchia applicazione che, per un bug nella procedura di installazione, non veniva registrato durante il setup.

Così, dal prompt dei comandi, ho digitato la classica riga, perfettamente funzionante con Windows XP:

regsvr32.exe nomecomponente.ocx

Il risultato con Vista? questo simpatico messaggio di errore:

Facendo una ricerca, peraltro davvero molto faticosa, su Google, ho scoperto che in Vista le cartelle di sistema sono ulteriormente controllate dal sistema operativo, pertanto viene consigliato di copiare la Dll o l'Ocx in un'altra cartella e riprovare. Fin qui...perfetto, il problema è che l'Ocx di mio interesse non era nelle cartelle di sistema!

Un'altra scoperta mi ha permesso di capire che per certi tipi di operazioni occorrono elevatissimi privilegi. Quindi ho risolto in questo modo:

  1. Ho creato un file di testo, chiamandolo RegOcx.cmd, al cui interno ho inserito il seguente script: regsvr32.exe c:\programmi\nomecartella\nomecomponente.ocx
  2. click destro sul file appena creato e selezione del comando "Esegui come amministratore".

Risultato? Eccolo:

Come vedete, in questo modo tutto funziona!

Il problema si risolve più semplicemente ricordandosi di specificare nella procedura di distribuzione che i componenti ActiveX devono essere registrati proprio in fase di setup.. :-)

Alessandro

Print | posted on domenica 22 aprile 2007 20:41 |

Powered by:
Powered By Subtext Powered By ASP.NET