[{"data":1,"prerenderedAt":366},["ShallowReactive",2],{"post-\u002Fblog\u002Fmigrare-applicazione-vb6":3,"related-\u002Fblog\u002Fmigrare-applicazione-vb6":359},{"id":4,"title":5,"body":6,"date":343,"description":344,"extension":345,"meta":346,"navigation":347,"order":348,"path":349,"related":350,"seo":354,"seoTitle":355,"sitemap":356,"stem":357,"updated":343,"__hash__":358},"blog\u002Fblog\u002Fmigrare-applicazione-vb6.md","Programma in Visual Basic 6: come migrare un’applicazione VB6 senza fermarsi",{"type":7,"value":8,"toc":323},"minimark",[9,17,20,25,36,42,48,51,55,58,92,96,170,174,177,180,183,191,194,202,206,209,212,216,261,273,277,281,288,292,295,299,306,310],[10,11,12,16],"p",{},[13,14,15],"strong",{},"Migrare un’applicazione VB6"," significa spostare un programma scritto in Visual Basic 6 su una tecnologia supportata, di solito un’applicazione web o .NET. Il programma non smetterà di funzionare domani, ma è la stessa Microsoft a raccomandare di sostituirlo. Le strade principali sono tre: conversione automatica, riscrittura completa e sostituzione graduale un modulo alla volta.",[10,18,19],{},"Molte aziende hanno ancora un programma di questo tipo: magari scritto a fine anni Novanta da un consulente, installato PC per PC, e ancora al centro del lavoro quotidiano. Vediamo come stanno le cose e cosa puoi fare.",[21,22,24],"h2",{"id":23},"cosa-dice-davvero-microsoft-sul-supporto","Cosa dice davvero Microsoft sul supporto",[10,26,27,28,35],{},"Sul tema circola molta confusione, ma la ",[29,30,34],"a",{"href":31,"rel":32},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fprevious-versions\u002Fvisualstudio\u002Fvisual-basic-6\u002Fvisual-basic-6-support-policy",[33],"nofollow","dichiarazione ufficiale di Microsoft"," è chiara se si distinguono due cose.",[10,37,38,41],{},[13,39,40],{},"Il programma che usi"," continua a girare. L’obiettivo di Microsoft è la compatibilità delle applicazioni VB6 esistenti con le versioni di Windows supportate, compreso Windows 11. Il supporto è però limitato a regressioni gravi e problemi critici di sicurezza.",[10,43,44,47],{},[13,45,46],{},"Lo strumento per modificarlo"," invece non è più supportato: l’ambiente di sviluppo di Visual Basic 6 ha perso il supporto l’8 aprile 2008. Microsoft stessa scrive che, non esistendo un metodo supportato per creare o mantenere queste applicazioni, raccomanda con forza di sostituirle con tecnologie moderne.",[10,49,50],{},"In pratica, il tuo programma non ha una data di scadenza. Ogni volta che qualcuno deve modificarlo, però, lo fa con strumenti fuori supporto da quasi vent’anni.",[21,52,54],{"id":53},"i-rischi-concreti-per-lazienda","I rischi concreti per l’azienda",[10,56,57],{},"La fine del supporto, da sola, non ferma nulla. I problemi veri sono altri:",[59,60,61,68,74,80,86],"ul",{},[62,63,64,67],"li",{},[13,65,66],{},"Chi lo sa modificare."," Trovare sviluppatori disposti a lavorare su VB6 è sempre più difficile, e chi lo conosce spesso è la stessa persona che l’ha scritto anni fa.",[62,69,70,73],{},[13,71,72],{},"I componenti esterni."," I programmi VB6 usano spesso componenti di terzi (i file OCX). Microsoft precisa di non poterli supportare: dipendi dal produttore originale, che magari non esiste più.",[62,75,76,79],{},[13,77,78],{},"Solo 32 bit."," I file di VB6 restano a 32 bit e sulle versioni a 64 bit di Windows funzionano in un ambiente di compatibilità. Oggi regge, ma è un vincolo in più ogni volta che cambi hardware o sistema.",[62,81,82,85],{},[13,83,84],{},"Lavoro solo in ufficio."," Installazione PC per PC, nessun accesso da remoto o da telefono. Spesso è il limite che pesa di più sul lavoro di ogni giorno.",[62,87,88,91],{},[13,89,90],{},"Blocco dei nuovi progetti."," Collegarlo a e-commerce, CRM o app può risultare complicato.",[21,93,95],{"id":94},"le-tre-strade-per-migrare","Le tre strade per migrare",[97,98,99,118],"table",{},[100,101,102],"thead",{},[103,104,105,109,112,115],"tr",{},[106,107,108],"th",{},"Strada",[106,110,111],{},"Come funziona",[106,113,114],{},"Punti a favore",[106,116,117],{},"Attenzione a",[119,120,121,138,154],"tbody",{},[103,122,123,129,132,135],{},[124,125,126],"td",{},[13,127,128],{},"Conversione automatica",[124,130,131],{},"Uno strumento traduce il codice in una tecnologia più recente",[124,133,134],{},"Conserva la logica, può essere rapida",[124,136,137],{},"Eredita i difetti del vecchio programma, e richiede rifinitura",[103,139,140,145,148,151],{},[124,141,142],{},[13,143,144],{},"Riscrittura completa",[124,146,147],{},"Si rifà tutto e si cambia in un colpo solo",[124,149,150],{},"Risultato pulito",[124,152,153],{},"Rischio concentrato, regole nascoste perse",[103,155,156,161,164,167],{},[124,157,158],{},[13,159,160],{},"Sostituzione graduale",[124,162,163],{},"I moduli nuovi entrano uno alla volta, accanto al vecchio",[124,165,166],{},"Nessun salto nel buio, benefici subito",[124,168,169],{},"I due sistemi convivono per un periodo",[171,172,128],"h3",{"id":173},"conversione-automatica",[10,175,176],{},"Esistono strumenti che convertono il codice VB6 in linguaggi più moderni, anche verso il web. Può funzionare bene se il codice è ordinato e vuoi soprattutto uscire da VB6 in fretta. I fornitori stessi ammettono che dopo la conversione resta da correggere del lavoro, in particolare per ciò che su un’applicazione desktop funziona in modo diverso che sul web.",[10,178,179],{},"Il limite più importante è un altro: ottieni lo stesso programma in un’altra lingua. Schermate, flussi e difetti di progettazione restano. Se il problema è solo la tecnologia va bene, se il problema è anche come si lavora, no.",[171,181,144],{"id":182},"riscrittura-completa",[10,184,185,186,190],{},"È adatta soprattutto a programmi piccoli e poco critici. Per un programma che regge l’azienda, è la strada che concentra di più il rischio. Trovi il confronto completo in ",[29,187,189],{"href":188},"\u002Fblog\u002Friscrivere-software-da-zero","riscrivere il software da zero o sostituirlo un pezzo alla volta",".",[171,192,160],{"id":193},"sostituzione-graduale",[10,195,196,197,201],{},"È la strada che usiamo quando il programma non può fermarsi. VB6 facilita spesso questo approccio per un motivo pratico: molti programmi tengono i dati in un database separato, come Access o SQL Server. Se è Access, conviene leggere anche ",[29,198,200],{"href":199},"\u002Fblog\u002Fmigrazione-database-access-cloud","come migrare un database Access al cloud",". Se il database è raggiungibile, le parti nuove possono lavorare sugli stessi dati, mentre il vecchio programma resta in uso.",[21,203,205],{"id":204},"comè-andata-in-un-nostro-progetto","Com’è andata in un nostro progetto",[10,207,208],{},"Tra i progetti che abbiamo seguito c’è proprio un vecchio software VB6 trasformato in una webapp. Il cambiamento più visibile per chi lo usa è semplice: non c’è più nulla da installare sui singoli PC e il programma si apre dal browser.",[10,210,211],{},"Per il titolare, i punti da chiarire all’inizio in un progetto così sono sempre gli stessi: quali funzioni servono ancora, quali regole sono nascoste nel codice e dove stanno i dati. La tecnologia di arrivo, in confronto, è una scelta facile.",[21,213,215],{"id":214},"come-procedere-passo-dopo-passo","Come procedere, passo dopo passo",[217,218,219,225,231,237,243,249,255],"ol",{},[62,220,221,224],{},[13,222,223],{},"Recupera ciò che esiste."," Codice sorgente, file di progetto, elenco dei componenti esterni. Se non trovi il sorgente, non è la fine, ma va saputo subito.",[62,226,227,230],{},[13,228,229],{},"Metti al sicuro il presente."," Verifica i backup e tieni da parte il materiale di installazione, compresi i componenti esterni.",[62,232,233,236],{},[13,234,235],{},"Mappa l’uso reale."," Quali schermate si usano e quali no. Potresti scoprire che il perimetro è più piccolo di quanto pensi.",[62,238,239,242],{},[13,240,241],{},"Guarda i dati."," Dove sono, in che formato, e se sono raggiungibili da un altro programma.",[62,244,245,248],{},[13,246,247],{},"Scegli il primo modulo."," Quello che crea più problemi, meglio se con poche dipendenze dagli altri.",[62,250,251,254],{},[13,252,253],{},"Fallo convivere con il vecchio"," finché non è collaudato, poi passa al successivo.",[62,256,257,260],{},[13,258,259],{},"Spegni VB6 per ultimo",", mantenendo consultabili i dati storici.",[10,262,263,264,268,269,190],{},"I primi quattro punti sono il contenuto tipico di un ",[29,265,267],{"href":266},"\u002Fblog\u002Faudit-software-aziendale","audit del software",", che serve a capire tempi e costi prima di firmare. Il percorso generale è spiegato nella ",[29,270,272],{"href":271},"\u002Fblog\u002Fmodernizzazione-software-legacy","guida alla modernizzazione del software legacy",[21,274,276],{"id":275},"domande-frequenti","Domande frequenti",[171,278,280],{"id":279},"i-programmi-vb6-funzionano-su-windows-11","I programmi VB6 funzionano su Windows 11?",[10,282,283,284,190],{},"Secondo la dichiarazione di Microsoft, i file di runtime di VB6 sono supportati su Windows 11, per le applicazioni esistenti. Non è supportato invece l’ambiente di sviluppo. Eventuali componenti di terze parti vanno verificati uno per uno. Se non parte, trovi le soluzioni in ",[29,285,287],{"href":286},"\u002Fblog\u002Fprogramma-vecchio-windows-11","programma vecchio che non funziona su Windows 11",[171,289,291],{"id":290},"e-se-non-ho-il-codice-sorgente","E se non ho il codice sorgente?",[10,293,294],{},"Si può comunque migrare, ma cambia il lavoro: si ricostruisce il comportamento del programma osservandolo in uso e analizzando il database. Richiede più attenzione, soprattutto per le regole di calcolo.",[171,296,298],{"id":297},"conviene-passare-a-vbnet","Conviene passare a VB.NET?",[10,300,301,302,190],{},"Può essere una buona scelta se hai sviluppatori .NET in casa e il programma resterà desktop. Se il problema è anche l’accesso da fuori ufficio, spesso conviene puntare a un’",[29,303,305],{"href":304},"\u002Fblog\u002Fapplicazione-web-o-desktop","applicazione web",[171,307,309],{"id":308},"vale-lo-stesso-per-i-programmi-in-delphi-o-foxpro","Vale lo stesso per i programmi in Delphi o FoxPro?",[10,311,312,313,317,318,322],{},"In larga parte sì. Le situazioni di supporto sono diverse, come spieghiamo nelle guide su ",[29,314,316],{"href":315},"\u002Fblog\u002Fmodernizzare-applicazione-delphi","Delphi"," e ",[29,319,321],{"href":320},"\u002Fblog\u002Fmigrare-foxpro-firebird","FoxPro",", ma ragionamento e metodo restano gli stessi: conoscere ciò che esiste, mettere in sicurezza i dati e sostituire un modulo alla volta.",{"title":324,"searchDepth":325,"depth":325,"links":326},"",2,[327,328,329,335,336,337],{"id":23,"depth":325,"text":24},{"id":53,"depth":325,"text":54},{"id":94,"depth":325,"text":95,"children":330},[331,333,334],{"id":173,"depth":332,"text":128},3,{"id":182,"depth":332,"text":144},{"id":193,"depth":332,"text":160},{"id":204,"depth":325,"text":205},{"id":214,"depth":325,"text":215},{"id":275,"depth":325,"text":276,"children":338},[339,340,341,342],{"id":279,"depth":332,"text":280},{"id":290,"depth":332,"text":291},{"id":297,"depth":332,"text":298},{"id":308,"depth":332,"text":309},"2026-11-01","Usi ancora un programma VB6? Cosa dice Microsoft sul supporto, quali strade esistono per migrare e come scegliere senza fermare il lavoro.","md",{},true,6,"\u002Fblog\u002Fmigrare-applicazione-vb6",[351,352,353],"modernizzazione-software-legacy","riscrivere-software-da-zero","audit-software-aziendale",{"title":5,"description":344},"Migrare un’applicazione VB6: strade e rischi | ITnext",{"loc":349,"lastmod":343},"blog\u002Fmigrare-applicazione-vb6","SIGoLsGGnsGST5DwbUcm5kX393Spk1-GjiHKz4lE2JI",[360,362,364],{"path":271,"title":361},"Modernizzazione del software legacy: la guida per le PMI che non possono fermarsi",{"path":188,"title":363},"Riscrivere il software da zero o sostituirlo un pezzo alla volta?",{"path":266,"title":365},"Audit del software aziendale: cosa controllare prima di decidere",1793609718892]