Installare Visual Basic 6 su sistemi Windows 7 a 64 bit

Installare Visual Basic 6 su sistemi Windows 7 a 64 bit

Una panoramica sul caro, vecchio Visual Basic 6 e un modo pratico per riuscire facilmente a installarlo in ambiente Windows 7 a 64 bit.

Nota: se avete fretta e non volete leggere tutto lo sproloquio introduttivo, le istruzioni per installare VB6 su Windows 7 a 64 bit sono al fondo del post.

Ho letto di recente alcune statistiche d’uso relative agli ambienti di sviluppo per sistemi Microsoft e, come sospettavo, ho scoperto che c’è ancora una nutrita schiera di programmatori che fanno codice su Visual Basic 6. Il motivo? Pensate a cosa accadde fra la fine degli anni 90 e i primi anni 2000: grazie a tool di sviluppo come Visual Basic, che costavano poco e che erano relativamente facili da usare, molte aziende decisero di informatizzare di più e meglio le loro attività. Inoltre, grazie alla forte domanda delle PMI, molti programmatori (nuovi e riciclati da vecchi ambienti) videro in Visual Basic 6 la soluzione meno costosa e più versatile per creare applicazioni di – quasi – qualsiasi fascia.

Visual Basic 6 è solo questione di cuore?

Vennero così alla luce interi ERP scritti con quel nobile linguaggio, oltre a programmi di controllo macchine, sistemi di misurazione, piattaforme di raccolta dati eccetera. Molte aziende, fatto l’investimento e ottenuto i risultati sperati, considerarono il Visual Basic 6 come un punto d’arrivo, e non una sorta di passaggio verso il futuro. Accadde così che, all’avvento dei sistemi di sviluppo basati su .net (che promettevano molto) pochissimi imprenditori ebbero il coraggio – e il denaro – per fare il salto evolutivo che li avrebbe (forse) salvati dall’invecchiamento del VB6.

Per quanto riguarda i programmatori, molti scelsero consapevolmente di non passare al .net perché, non appena scoprirono l’immane cazzata fatta da Microsoft nell’ignorare la backward compatibility, si domandarono: “Quindi adesso che ho appena preso confidenza completa con il VB 6 dovrei imparare un linguaggio nuovo? Perché??”.  Poi, assaggiata la IDE del Visual Studio .net, quei pochi che resistettero per più di 5 minuti senza urlare dallo sconforto, di lì a breve si sarebbero ritirati a vita monastica.

Nel calduccio della propria casetta…

Scherzi a parte, uno dei difetti dei programmatori “di una certa età” è di sentirsi al sicuro nel proprio ambiente di sviluppo, cosa che non li spinge certo a cercare nuovi sistemi, nuove avventure e nuovi grattacapi. Neppure l’imprenditore che – spesso forzatamente – naviga a vista e cerca di tirare avanti la carretta con risorse striminzite, sente la necessità (e men che meno il dovere) di fare un passo del genere. Lui non sa cosa voglia dire VB6 o .net, e soprattutto non gli interessa. Lui dice: “I computer ci sono, le licenze dei sistemi operativi le abbiamo pagate, l’investimento sul software customizzato lo abbiamo fatto appena 5 anni fa, ergo adesso non spendiamo un centesimo perché: a) funziona, b) è pagato, c) al diavolo l’evoluzione“. Ottuso? Forse sì, ma devi decidere fra il pagare i fornitori e gli stipendi o il riscrivere tutto il software di controllo industriale perché Microsoft non supporta più ciò in cui hai creduto fino a ieri, beh, non credo sia difficile capire (e condividere) quale ovvia scelta verrà fatta.

…oppure in una tenda nei boschi?

Se escludiamo i cambiamenti forzati da eventi esterni, chi mai abbandonerebbe il comfort della propria casa per trasferirsi definitivamente a vivere in una tenda piazzata in boschi sconosciuti? Magari una prova la puoi fare, magari un paio di volte puoi godere dell’arietta fresca del mattino, magari scopri aspetti del tuo carattere che, nella routine del tuo territorio abituale, potresti non notare mai. Però significa dover cambiare radicalmente il tuo modo di approcciare anche le minime azioni quotidiane: per farti una doccia preferisci la vecchia, obsoleta, costosa acqua corrente, oppure non vedi l’ora di camminare nell’ignoto per 20 minuti (o 5 ore, dipende) per cercare una sorgente che avrà sì l’acqua più pura del mondo ma che ti è costata fatica e che ti permette appena di sciacquarti la faccia e magari un po’ anche le ascelle e ti fa trasalire ad ogni schizzo perché freddissima? E finché è estate va bene, ma poi quest’inverno che si fa?

Come si fa a installare Visual Basic 6 su sistemi Windows 7 a 64 bit

Tralasciando altre metafore (finalmente, direte) veniamo al dunque: grazie a quel processo sadico di Microsoft secondo cui un ambiente di sviluppo meraviglioso come il VB6 non meritava di essere ulteriormente supportato, lasciando inorriditi milioni di programmatori che lo amavano e lo amano tuttora, oggi è praticamente impossibile installarlo su sistemi Windows 7 a 64 bit usando il suo setup. Grazie all’estro di alcuni personaggi della Rete, però, è stato da tempo pubblicato in vari siti l’apposito workaround, segno che “ok, .net è il futuro, ma io voglio installare il VB6” non è una cosa che ho pensato solo io. Per comodità ve lo riporto qui, dando così un senso al titolo del post. Vediamo quindi come fare:

1) creiamo un file vuoto nella cartella c:\windows e denominiamolo MSJAVA.DLL (passaggio non indispensabile, il sistema pare funzionare lo stesso, ma così consigliano i guru)

2) copiamo il CD n. 1 di Visual Studio 6 in una cartella sul disco fisso del pc, chiamandola ad esempio VS6SETUP

3) apriamo la cartella appena creata, apriamo la sottocartella Setup e cerchiamo i files con estensione *.stf

4) a seconda della versione di Visual Studio 6 che intendiamo installare, il file potrà chiamarsi in modo diverso (vb98pro.stf oppure vs98ent.stf eccetera). Ciò che importa è l’estensione *.stf

5) quando troviamo il file in questione, ne facciamo due copie nella stessa cartella

6) una delle due copie appena fatte la rinominiamo in acmsetup.stf e l’altra in acost.stf

7) infine selezioniamo tutto il contenuto della cartella Setup, lo copiamo e lo incolliamo nella cartella superiore (che abbiamo chiamato VS6SETUP in questo esempio)

8) coi privilegi di amministratore eseguiamo il programma acmsetup.exe, dovrebbe avviarsi l’installazione senza altri problemi

9) in caso compaia ancora qualche messaggio di errore (cosa accaduta in un paio di situazioni) di solito basta riavviare il programma acmsetup.exe, e poi fila tutto liscio

Per installare il service pack 6 si procede nello stesso modo, facendo però attenzione che il file *stf si troverà nella cartella principale e non in una subfolder Setup (quindi niente copia dopo la creazione dei due files aggiuntivi).

È tutto. E se vi accade di sentirvi dire “ma come, ancora con VB6?” non fatevi prendere dallo sconforto o dall’ira funesta. Vi basterà pensare che ancora oggi ci sono persone ben pagate per scrivere o modificare programmi in RPG IV.

Tags: , , , , , , ,

21 Commenti

  1. A.Maurizio

    Sicuramente questo Metodo Funzionerà benissimo su Windows 7 ; Ma io che ho Windows 10 , a 64 Bit .
    Cosa posso fare per continuare a farlo girare
    Attendo ulteriori istruzioni
    (P.S) Anche perché per ben che se ne dica a me continua a piacermi .
    In più ho provato questo vostro metodo su Windows 10 ma non funziona-
    Grazie

    Rispondi
    • B.Giorgio

      Salve , io spero tu abbia risolto.
      Se cosi’ non fosse prova quando lanci ACMSETUP.EXE a selezionare (prima di lanciarlo) la compatibilita WinXP Sp3 (tasto di destra del mouse , compatibilita’)
      A me cosi’ ha funzionato.
      Se riesci ad andare avanti , stai attento a deselezionare in ACCESSO AI DATI la prima voce .
      Se non la deselezioni il sistema va avanti ma poi si blocca dopo la copia dei file quando aggiorna le impostazioni di sistema.
      Il mio SO e’ : Win 10 Pro 64 bit
      Saluti

      Rispondi
      • Igor

        Grazie Giorgio per le indicazioni che ho applicato e vb6 è ora installato. Un cosa sola. Visto che ho dovuto deselezionare l’ACCESSO AI DATI per evitare l’errore del blocco in aggiornamento sistema come faccio ad abilitare di nuovo l’accesso ai dati quando installato?

        Rispondi
    • Giorgio

      Vedo la risposta del mio omonimo e mi scuso per il ritardo nella mia risposta. Tentare con la modalità di compatibilità con WinXP SP3 credo sia una buona soluzione, anche se non ho provato con VB6. Mi è servita con il software di un vecchio scanner HP che diversamente non avrebbe mai funzionato, e fu a suo tempo la soluzione proposta dal servizio tecnico HP stesso.

      Al momento non ho ancora avuto bisogno di installare VB6 su Win10 perché sono così affezionato a Windows 7 da non aver ancora avuto il coraggio di affrontare quel pastrocchio del 10 (non mi piace, s’era capito? :D )

      Se capitasse provo come indicato da Giorgio. Per Maurizio: se provi fammi sapere come va. Grazie.

      Rispondi
  2. Ettore

    La settimana scorsa ho installato Visual Basic 6 sul mio computer che ha Windows 10. Ho seguito le istruzioni, senza creare il file vuoto MSJAVA.DLL. E’ stato un giochetto da ragazzi. VB6 si è installato in pochi minuti e funziona perfettamente. Sono veramente soddisfatto. Grazie.
    Ettore.

    Rispondi
    • Giorgio

      Molto bene, funziona anche la GUI? Cioè, quando vai nella progettazione del form e metti i componenti, hai provato a dimensionarli? E’ fluido oppure va “a scatti”* come con Windows 7?

      * quando con Win 7 si dimensionano i controlli sul form designer e la grafica va a scatti, bisogna impostare come tema di Windows quello denominato “Windows 7 Basic” e/o disattivare la composizione desktop dal menu Compatibilità dell’icona di VB6

      Rispondi
  3. Ettore

    Non ho mai usato Windows 7. Comunque devo dire che con Windows 10, il dimensionamento dei componenti sul form non è fluido. In ogni caso riesco a dimensionarli, sia graficamente, sia utilizzando la finestra delle proprietà.
    Ettore

    Rispondi
  4. gibra

    Nelle ultime versioni di Windows 10 le cose si sono complicate non poco ed il metodo sopra descritto non raggiunge pienamente lo scopo, vuoi per le diverse modalità operative, vuoi per le nuove policy (in continuo mutamento) di Windows 10.
    Stanco di dover fare sempre a mano l’installazione di VB6, dal 2013 inizia lo sviluppo di una applicazione che facesse tutto da sola (o quasi) e che si chiama: VS6 Installer wizard.

    Tale applicazione sembra essere molto apprezzata (ad oggi scaricata da oltre 135.000 utenti) e se vi interessa accomodatevi pure, è gratuita.
    Questo è il link della pagina:
    http://nuke.vbcorner.net/Articles/VB60/VisualStudio6Installer/tabid/93/language/en-US/Default.aspx

    P.S. Per avere il dimensionamento fluido dovete impostare VB6.EXE con compatibilità Vista SP2.

    Rispondi
    • Giorgio

      Di recente ho dovuto rifare il setup del mio PC e ho seguito il consiglio di gibra di usare il VS6 Installer. Il programma richiede di seguire un iter un po’ lungo (e noiosetto), ma il risultato finale è eccellente e le varie paturnie di settaggio di cui ho parlato si polverizzano in un lampo.

      Grazie per aver condiviso questa informazione.

      Rispondi
  5. Giacomo

    Salve a tutti.
    Premesso che sono riuscito ad installare VB6 su 2 diversi PC con W7-64, incluso il SP6 e la guida MSDN, non riesco a caricare i componenti che sono inclusi nel SP6 (quelli di base funzionano).
    Per installare SP6 ho eseguito lo stesso ‘trucco’ usato per VB6 e SP6 e non mi dato nessun errore.
    Quando cerco di inserire un componente del SP6 mi dice che la libreria non è registrata.
    Ho provato a registrare manualmente MSCOMCTL.ocx in SysWOW64 con regsvr32 ma anche così mi dice che la registrazione non è possibile.
    Qualche suggerimento?
    Grazie

    Rispondi
    • Giorgio

      Ciao Giacomo, hai verificato di aver aperto il prompt dei comandi come utente amministrativo? Devi eseguire CMD facendovi tasto destro sopra e scegliendo “Esegui come amministratore”. Questo è il primo passo per poter eseguire REGSVR32 in modo completo.

      In alcuni casi ho avuto problemi anch’io, poi – non trovando soluzioni – ho creato un setup “fittizio” mettendovi tutti i componenti e i riferimenti che mi serviva registrare. Eseguendo il setup, i componenti vengono registrati e vanno al loro posto automaticamente.

      Rispondi
      • Giacomo

        Ciao Giorgio, grazie per la veloce risposta.
        In effetti avevo dimenticato di entrare come amministatratore ,vergogna :-(, e ora difatti mi accetta il comando e dice che la registrazione è riuscita….ma non cambia nulla; per VB6 la libreria dei componenti non risulta registrata.
        L’ho fatto solo per MSCOMCTL.ocx al momento e credo dovrebbe bastare per i componenti del SP6.

        Hai ancora il setup ‘fittizio’?

        Rispondi
        • Giorgio

          Credo che il tuo problema non sia risolvibile con il setup fittizio (che peraltro non ho più da tempo, ma puoi creartene uno facilmente con VB6 funzionante su un altro PC).

          Prova a usare il VS6 Installer di cui sopra e fare un’installazione completa, questo dovrebbe risolvere tutti i problemi.

          Rispondi
          • Giacomo

            Grazie Giorgio per il supporto.
            Purtroppo neesuna soluzione ancora.
            Ho provato l’istaller di Gibra, ho riscaricato VB6 e SP6, ho riprovato più volte, disinstallando prima tutto, ance le chiavi di registro, ho registrato manualmente l’OCX (peraltro già registrato)…nulla.
            Ho perfino eliminato IE11 per alcune indicazioni trovate su Web (tra l’altro ho scoperto che è un problema abbastanza diffuso, ma tutte le indicazioni sono uguali a quelle qui contenute).

            Il SP6 risulta installato, ma MSCOMCTL non vuole saperne di agganciarsi a VB.

            Su altro PC con W7 64, ho installato tutto tempo fa, seguendo le indicazioni in questa pagina, e tutto funziona; peccato non sia il PC che mi serve.
            Su quest’ultimo, con RegEdit alla chiave VB6 sotto SysWoW64 vedo le librerie degli ocx installati, compreso il maledetto, ma sul nuovo PC nisba, non c’è nulla.
            L’unica differenza tra i 2 PC, a parte l’HW di base, è che sul nuovo ho un SSD al posto dell’HD, ma non credo proprio che influisca.

            Non so prorpio più dove sbattere e mi serve proprio VB6 su questo PC per tutti i programmi che ho scritto in anni (e tutti usano i componenti del SP6).

            Accetto qualsiasi indicazione, se possibile.

          • Giorgio

            Ahimé credo di non sapere come aiutarti. Spero che qualcuno di passaggio abbia un suggerimento per te, e per chiunque si trovi nella stessa situazione. Un guaio simile l’ho avuto su Windows 10 dove un componente non ha voluto saperne di andare in registrazione. Ho dovuto riscrivere il programma “sostituendo” il componente con un altro simile (era una datagrid).

  6. Giacomo

    Grazie per il sostegno morale
    Semmai un giorno risolverò l’inghippo lo pubblicherò qui.

    Rispondi
  7. Giacomo

    Come disse il grande e rimpianto A. Clarke:
    ‘Qualunque tecnologia sufficientemente avanzata è indistinguibile dalla magia.’

    Evidentemente VB6 è ‘sufficientemente avanzato’, oppure ‘sufficientemente sorpassato’….in ogni caso è magico!

    Dopo essermi letto tutto lo script sp698vbo.stf, ovviamente senza capirci praticamente nulla, stavo mettendo via la questione; poi però mi son detto ‘eppure ci deve essere qualcosa che non ho provato’ e così ho fatto un ultimo tentativo, noioso e senza alcuna speranza: ho iniziato ad inserire un componente MS alla volta nella finestra Componenti. Volevo prendere nota di quali si installavano e quali no, saltando via il maledetto ‘Common Control 6.0 (SP6)’
    Tutti, tranne il Calendar Control 12 si sono installati subito, confermato anche da RegEdit aperto alla chiave VB6. Poi ho riprovato con Calendar e…eccolo anche lui ! Sorpresa !
    Allora perchè non riprovare anche con il maledetto? E difatti, appena fatto Applica si è installato che è un amore!

    Come detto per me è magia, perchè sicuramente non capisco la tecnologia che sta dietro, però non mi interessa.
    Forse c’era qualche dipendenza non risolta…oppure un trucco da prestidigitatore…fatto stà che ora funziona tutto.

    Spero che questa sbrodolata possa servire a qualcun altro.
    Grazie ancora e buona programmazione
    Giacomo

    Rispondi
    • Giorgio

      “ho iniziato ad inserire un componente MS alla volta nella finestra Componenti”: in quale fase, durante il setup del service pack 6?

      Comunque mi congratulo per il risultato. Può darsi che l’installazione di un componente diverso abbia scritto qualcosa nel registry che magari per MSCOMCTL era dato per scontato e invece non c’era ancora. Facendo come hai fatto tu, il setup ha trovato tutto al suo posto e ha consentito la registrazione del componente.

      È solo una mia supposizione, per carità, sarebbe bello scoprire l’arcano. Però, come era solito dire il mio vecchio capo (programmatore RPG su AS400): “Non importa come né perché, basta che funzioni”. Non condividevo e non condividerò mai questa affermazione, ma talvolta ci si deve anche accontentare :)

      Grazie per il contributo, Giacomo!

      Rispondi
      • Giacomo

        Scusa il ritardo alla risposta ma ero via
        Per rispondere alla tua richiesta di chiarmento: ho installato il SP6, ho aperto un nuovo progetto e poi ho seguito la strada comunicata, inserendo un componente alla volta (tranne il maledetto) per vedere se mi dava errori. Alla fine, con situazione tranquilla, ho inserito anche il Calendar Control, tutto ok, e per finire il maledetto MSCOMCTL….et voilà…è andato a posto.

        Nota che prima di questa prova avevo scaricato e ricaricato 3 volte VB6 e SP6, sempre con l’errore presente.
        Anch’io rodo nel non sapere perchè così ha funzionato, ma tant’è!

        Ora posso tornare a divertirmi con questo programmino del 1998 !
        Buon divertimento a tutti

        Rispondi
  8. 21udx

    Scusate , ma anche io ho avuto problemi nell’installazione di vb6,
    (ho windows 10 a 64 bit) , e a quanto pare a me da una segnalazione differente dalle vostre precedenti.
    Ho eseguito tutto come scritto nel paragrafo sopra riportato :
    “Come si fa a installare Visual Basic 6 su sistemi Windows 7 a 64 bit”
    fino al passo 8 quando cioè eseguo il file acmsetup.exe,
    ma a questo punto mi dice che non trova il file SETUP.INI nella directory VS6SETUP.
    sarei grato se qualcuno mi riuscisse a dare una soluzione.
    (c’è da dire che ho anche provato con il link di GIBRA :
    http://nuke.vbcorner.net/Articles/VB60/VisualStudio6Installer/tabid/93/language/en-US/Default.aspx

    ma non mi è sembato così semplice e intuitivo.

    Peccato perchè con il VB6 facevo veramente degli ottimi programmi! :(

    Grazie per ora.

    Rispondi

Invia commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *