Di seguito gli interventi pubblicati in questa sezione, in ordine cronologico.
Ho trovato questo interessante articoletto di Greg Duncan, che per motivi di utilità ho ritenuto opportuno tradurre per la possibile platea "italiana".
6 su 8? Sarà supportato VB6 su Windows 8? Si, più o meno!
Il generale Douglas MacArthur disse nel famoso discorso del 1951 al Congresso Americano - ndt famoso, probabilmente, solo per l'audience statiunitense... - che "i vecchi soldati non muoiono mai, ma semplicemente se ne vanno lentamente. Mezzo secolo più tardi, la massima di MacArthur la si può efficacemente applicare ai linguaggi di programmazione. E nello specifico a Visual Basic.
Microsoft lo scorso mese ha annunciato che stava per estendere la compatibilità del tipo "Funziona senza problemi" - in inglese era "It Just Works" - per le applicazioni Visual Basic 6 per l'intero ciclo di vita di Windows Vista, Windows Server 2008, Windows 7 e, più che mai importante, anche Windows 8. Come descritto nel Visual Basic 6.0 Resource Center, il runtime del nucleo di Visual Basic 6.0 sarà supportato per tutta la durata di questi sistemi operativi. L'impegno comprende cinque anni di supporto costante, seguito da ulteriori cinque anni di supporto esteso.
Karl Peterson, programmatore Visual Basic 6 e da lungo tempo redattore al Visual Studio Magazine e al Visual Basic Programming Journal (dove ha scritto la popolarissima colonna VB Corner, tra le altre, fino al 2010). Peterson fa notare che questo annuncio allontana decisamente il ciclo di vita del runtime di VB6 dal suo ritiro programmato. Ed questo fatto può avere delle implicazioni importanti per tutte le aziende i cui progetti si basano su vaste distese di codice VB6, che Peterson chiama "il Cobol del 2020".
Andate pure a vedere l'annuncio ufficiale di Microsoft, fatto a marzo ed aggiornato a novembre 2012:
Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008, Windows 7, and Windows 8
Rimane il fatto che l'ambiente di sviluppo non subirà alcun aggiornamento particolare, come si vede da uno stralcio dell'annuncio:
The Visual Basic 6.0 IDE is no longer supported as of April 8, 2008. However, Custom Support Agreements may be available from Microsoft. Additionally, both the Windows and Visual Basic teams have tested Visual Basic 6.0 IDE on Windows Vista, Windows 7, Windows Server 2008, and Windows 8 to understand and mitigate (if appropriate) serious regressions in application compatibility. This announcement does not change the support policy for the IDE.
la cui traduzione in italiano è sostanzialmente questa:
L'IDE di Visual Basic 6.0 non è più supportato dall'8/4/2008. Ciononostante specifici accordi di supporti possono essere resi via via disponibili da Microsoft. In più sia i team di Windows che di Visual Basic hanno testato l'IDE di Visual Basic 6.0 su Vista, Windows 7, Windows Server 2008 e Windows 8 per capire e mitigare opportunamente, eventuali seri problemi di compatibilità dell'applicazione. Questo annuncio comunque non cambia assolutamente la politica di supporto all'ambiente.
Con stupore, una volta installato Visual Basic 6 SP6 su Windows 8 a 64 bit, scoprirete che non avete accesso a dischi di rete mappati, ma solo usando il percorso UNC che include il percorso di rete. Funzionerà pertanto l'accesso a \\SERVER\Sources, ma non andrà per esempio S:\ se la lettera S è la mappatura che avete utilizzato con \\SERVER\Sources.
Tra i dischi mappati avrete solo quelli che sono solo dischi locali, come dischi rigidi, SSD, chiavette USB e memorie solide come SD card e via dicendo.
Questo problema può essere risolto lavorando su registro.
Questo problema lo si ha per Windows Server 2008 R2, Windows 7 e Windows 8, cioè che Visual Basic 6 non vede i dischi di rete come se fossero dei dischi locali. Per ulteriori dettagli fare riferimento al documento:
http://technet.microsoft.com/en-us/library/ee844140%28v=ws.10%29.aspx
Lanciare regedit. All'interno della chiave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
Creare un nuovo valore DWORD con chiave EnableLinkedConnections e valore 1.
Chiudere regedit e riavviare il computer.
Questo articolo segue quello sull'installazione forzosa di Visual Basic 6 su Windows 8 a 64 bit.
Ricordate che se avete installato Visual Basic 6 includendo anche Data Access, probabilmente l'installazione del Service Pack 6 si interromperà dicendovi, in lingua inglese, che l'operazione si è conclusa senza successo. In tale caso è necessario ripetere l'installazione di Visual Basic 6, senza rimuoverlo completamente, ma ricordandosi di escludere Data Access dai pacchetti installazione nella configurazione personalizzata:
-
recuperare l'installazione del Service Pack 6 e copiarsela in locale, ad esempio sulla scrivania
-
all'interno della cartella del SP6 duplicare il file sp698vbo.stf e rinominare la copia in acost.exe
-
all'interno della cartella del SP6 duplicare il file sp698vbo.stf e rinominare la copia in acmsetup.exe
-
eseguire acmsetup.exe senza problemi
Ora dovreste avere un Visual Basic 6 con Service Pack 6 regolarmente funzionante su Windows 8 a 64 bit.
Ora vi manca di caricare le licenze, le librerie ed i componenti che siete soliti usare nei vostri progetti e anche tattarare un po' su registro per sistemare un problema con l'accesso ai percorsi di rete mappati contro alcune lettere.
Per scaricare il Service Pack 6 di Visual Basic 6, questo è il link per raggiungere la pagina in lingua italiana del sito Microsoft:
http://www.microsoft.com/it-it/download/details.aspx?id=5721
Ecco le istruzioni:
- recuperare il CD di installazione di Visual Basic 6 e copiarlo in locale, ad esempio sulla scrivania
- all'interno della cartella Setup duplicare il file vb98pro.stf e rinominare la copia in acost.exe
- all'interno della cartella Setup duplicare il file vb98pro.stf e rinominare la copia in acmsetup.exe
- copiare l'intero contenuto della cartella Setup e collocarlo anche dentro la cartella del CD
- impostare il file acmsetup.exe in modo che la sua compatibilità sia XP SP3
- impostare il file acmboot.exe in modo che la sua compatibilità sia XP SP3
- impostare il file setup.exe in modo che la sua compatibilità sia XP SP3
- lanciare l'eseguibile setup.exe in come amministratore
- al presentarsi del messaggio "Il programma presenta problemi di compatibilità" ignorare e proseguire
- eseguire il wizard di installazione
- fare un'installazione personalizzata togliendo Data Access, altrimenti non si riuscirà ad installare il Service Pack 6
- alla fine il Wizard si impallerà: abbattere il processo di installazione
- Visual Basic 6 dovrebbe essere installato correttamente
La cosa però non finisce qui, perché è necessario installare anche il Service Pack 6, per il quale trovate un altro articolo.
Purtroppo se si fa partire l'installazione di Visual Basic 6 Professionale (o Enterprise) su Windows 8, l'installazione viene laconicamente terminata con un'impossibilità a concludere l'operazione, per l'incompatibilità del software col sistema operativo.
In realtà Microsoft è uscita ancora un po' di tempo fa con un comunicato ufficiale, in cui sentenziava che avrebbe supportato il runtime di Visual Basic 6 per tutta la vita dei sistemi operativi Vista, Windows 7 e Windows 8.
Certo è che il supporto del runtime di Visual Basic 6, non vuol dire di fatto supportarne anche l'ambiente di sviluppo, che ha girato senza problemi fino a Vista e con qualche esitazione anche su Windows 7.
Si impongono pertanto delle scelte molto chiare su come fare per avere, ancora una volta, una macchina ed un'installazione valida per continuare a manutenzionare le applicazioni scritte con Visual Basic 6.
Parto dal presupposto che la difficoltà più grande sia qualche di avere la necessità di intraprendere questo percorso su Windows 8 a 64 bit, mentre con la versione a 32 bit probabilmente il numero di ostacoli è inferiore. In ogni caso la stragrande maggioranza delle macchine nuove che vengono vendute con Windows 8 hanno la versione a 64 bit. Per avere la versione a 32 bit è necessario scaricare una specifica ISO dal sito Microsoft, cosa che succede, ad esempio, se si compra l'aggiornamento a Windows 8 proveniendo da un sistema a 32 bit (XP SP3, Vista 32 bit o Windows 7 a 32 bit).
Visual Basic 6 su Windows 8 (a 64 bit)
Le possibilità sono tre:
-
ricorrere ad una macchina virtuale XP usando VM-Ware o altro software di virtualizzazione di terze parti (richiede una licenza addizionale di XP)
-
ricorrere ad una macchina virtuale XP usando Hyper-V su Windows 8 Professional; Hyper-V non è preinstallato su Windows 8, ma è disponibile a parte per le versioni Professional o superiore (richiede comunque una licenza addizionale di XP)
-
ricorrere ad una macchina virtuale XP usando XP Mode su Windows 8, nella stessa maniera con cui era possibile avere l'XP Mode con Windows 7; in realtà Windows 8 non è più disponibile per Windows 8, visto che Microsoft ha fatto largo a Hyper-V e sacrificando così XP Mode (cioè Virtual PC) (non richede una licenza addizionale di XP, ma richiede di recuperare uno strumento disponibile in Windows 7 e soppresso da Microsoft)
- installazione forzosa di Visual Basic 6 su Windows 8, come se fosse una normale applicazione a 32 bit
In un altro articolo vi guiderò all'installazione forzosa di Visual Basic 6 su Windows 8 a 64 bit.
|