Friday 30 March 2012

RemoteApp and Missing Fonts

Your application has been installed on Windows Server 2008 R2 as a RemoteApp. Easy access, non cumbersome remote desktop window, (l)users happy, no compatibility problems.

- But hey: that report uses Arial Narrow, which is not present in 2008 R2. No problem: I'll just get the TTF from another machine and install it on the server.

- Mmm.. I'm sure I've installed the font, but the report is still defaulting to Arial.. Try restarting the application.. nope.

- Let me see: I'll try to access the application using normal remote desktop.. Uh.. but now it works. Let's check the remoteapp mode. No, still not working.

- Maybe there's some special setting for remoteapp fonts? Uh.. I've looked.. no special setting.

- A file permission issue? Don't be silly the user is the same for remote desktop and remote app.

- Googling the problem I've found a similar case where the only solution was a server reboot!. 

- That must be silly, the new font is already available as I've shown you using remote desktop..


- We're running out of options and time.. Would it be a problem to try and restart the server?

- Uh, no, let me phone the coworker back in the valley..

- Ok, server restarted. I doubt that it will do anything but let's try, you could always revert to remote desktop you know... Oh. It's working! How quaint!


 

Installare Visual Basic 6.0 su Windows 7 (a 64 bit) - Q&A

Q: Con alcuni componenti l'IDE di VB6 da errore di licenza!

A: Non è una domanda: comunque è un problema indipendente da Seven: cercare vbctrls.reg nel cd di installazione è applicarlo.

Q: Se compilo il mio programma su Seven, funziona. Su XP, 2000,2003 etc, non funziona, da 'Type Mismatch' o altri errori strani. Se prendo il sorgente e lo ricompilo su XP allora funziona da tutte le parti!! Che cavolo è? Si installa ma non compila bene!

A: Non esattamente. Su Seven 64 bit Service Pack 1 M$ ha cambiato alcuni ID delle type library ADO. I programmi compilati con type library presenti su altri SO funzionano dappertutto. Quelli con le nuove, solo su Seven 64 bit SP1. Non sono cambiati i CLSID - ovviamente - per cui i sorgenti ricompilano da una parte e dall'altra senza modifiche. Con l'OLE Viewer di VS 6.0 su XP aprendo una type library che esponga oggetti ADO compilata su Seven il tipo non viene riconosciuto ('Can't get..' nella definizione dell'interfaccia). E' un bug gustosissimo presente dall'uscita del SP1: solo da poco MS ha rilasciato un fix decente http://support.microsoft.com/kb/2640696 - che non si installa da solo con Windows update, va scaricato e installato. Leggere anche: http://connect.microsoft.com/VisualStudio/feedback/details/646313/ado-programs-no-longer-work-on-customer-computers-after-recompiled-on-a-windows-7-sp1-machine

Monday 19 March 2012

Installare Visual Basic 6.0 su Windows 7 (a 64 bit)

I programmi compilati con VB6 non hanno problemi particolari su Windows 7, anche a 64 bit. Il problema è l'ambiente di sviluppo (che è ancora ampiamente usato, a 14 anni suonati dal suo primo rilascio - nel 1998 chi usava ancora compilatori del 1984?). Il sistema più 'sicuro' per sviluppare in VB6 su Windows  7 è una macchina virtuale con su XP SP3 e VB6. Tuttavia c'è la possibilità di installare VB6 anche sull'ultimo SO Microsoft: se funziona, è più pratico. Questa è una 'ricetta' compilata in base alle informazioni presenti sui segg. link e poi ampliate e corrette personalmente:

http://www.fortypoundhead.com/showcontent.asp?artid=20502

http://www.dennybiasiolli.com/?lang=en&sezione=news&tag=113

Sul mio sistema almeno, funzionano: Windows 7 Ultimate inglese con language pack italiano e vb6 professional italiano + msdn 98 + vb6 service pack 6 italiano. Includo anche informazioni relative ad altri componenti e tool usati spesso in queste situazioni. In realtà è un documento che ho creato per motivi di lavoro, ma non c'è ragione di non condividerlo in rete.           
 

Installazione VB6 + MSDN

 

·         Usare account amministrativo (meglio Administrator da riabilitare da Pannello Controllo-Gestione Computer- Utenti locali)
·         Disabilitare gli UAC
·         Creare un file vuoto con notepad o altro editor in C:\WINDOWS chiamato MSJAVA.DLL
·         copiare su una cartella locale il contenuto del cd di VB6 Pro
·         nei file del primo CD c'è una cartella setup, entrarci dentro
·         c'è un file vb9pro.stf (o vs98pro.stf o altro secondo la versione usata): copiarlo su due file, acmsetup.stf e acost.exe
·         copiare tutto il contenuto della cartella setup nella cartella padre
·         lanciare acmsetup.exe come amministratore
·         VB6 dovrebbe installarsi correttamente
·         SP6: scompattare il service pack in una cartella
·         c'è anche qui un file .stf, copiarlo su due file, acmsetup.stf e acost.exe
·         lanciare come amministratore acmsetup.exe
·         Il service pack dovrebbe installare correttamente: attenzione alla lingua che deve coincidere con quella di vb6
·         MSDN: copiare su una cartella entrambi i cd di MSDN (non dovrebbero sovrapporsi)
·         C'è una cartella setup, posizionarvicisi come nel caso di vb6: copiare l'unico file .stf (msdn98.stf) su acmsetup.stf
·         lanciare amcsetup.exe come amministratore, dovrebbe installarsi senza problemi
·         update sicurezza KB926857 : installa senza particolari problemi
·         eliminare il file vuoto MSJAVA.DLL dalla cartella C:\windows
·         Cercare il file VB98.EXE in C:\Program Files (x86)\Microsoft Visual Studio\VB98. Selezionare proprietà/compatibilità e scegliere Windows XP SP3

Add Ins


  • VB6 Mousewheel fix (vb6mousewheel.exe, fix rotellina mouse): installa senza particolari problemi (REGSVR32)
  • Linenums.dll (add.in per creazione numeri di linee ): installa senza particolari problemi (REGSVR32)


TrueDBGrid 7.0


Si installa normalmente.

Crystal Reports 8.5 + SP3


  • Copiare il CD su un cartella
  • Andare nelle proprietà del setup.exe e indicare compatibilità: Windows 2000
  • Installare normalmente (se non si indica la compatibilità da errore su un file mancante)
  • Copiare il setup del SP3 su una cartella
  • Andare nelle proprietà del setup.exe e indicare compatibilità: Windows 2000
  • Installare normalmente.
  • Cercare il file eseguibile dell'editor di report (CRW32.EXE), andare in proprietà e settare Windows 2000 come compatibilità (altrimenti ci sono problemi random in fase di salvataggio dei file .rpt)