Piero V.

Customize NSIS MUI2's welcome page

Recently, I had to customize NSIS installers for work.

It was my first time, and I had to get to know this tool first. While this system already offers many functionalities, if you want to change anything in its built-in pages, you must rely on Win32 APIs.

The welcome and finish pages are an exception, up to a certain sense, because they are made with nsDialogs, NSIS’s plugin for creating completely custom pages.

As a result, it is possible to pass to add new widgets using the same API in a function passed MUI_PAGE_CUSTOMFUNCTION_SHOW. However, I encountered a major problem: the default widgets fill the available space. Therefore, any new widgets will be hidden, and it will not be possible to interact with them with the mouse. I looked for a solution online - NSIS is more than 20 years old, so you can find a lot of documentation - but I did not find an answer that worked for me.

Eventually, I found that you can resize widgets on Win32 with MoveWindow. … [Leggi il resto]

Retrocomputing a bit with Windows 2000

Many years ago, I had some old machines, and I wanted to play with them to test Skolelinux’s capabilities in a small network. I decided to install Linux on some and Windows on others.

I must have thought that one of them was particularly old, and I decided to install Windows 2000 on it. But the real reason might have been that it was one of the few Windows versions I had never played with 😜️.

Then the whole project stopped because I did not have enough peripherals. Moreover, it would have continued for a few days, and I did not have room to occupy for a long time.

But as you may know, sometimes I get a desire to experiment with antique software. And a while ago, I remembered I still had never played with Windows 2000.

Testing it in a virtual machine

Virtual machines and emulators are a great tool to experience old software again. They can even add some isolation for improved security.

A pair of years ago, I tried to install Windows 98 into a VM, but it gave me some trouble, especially with the display drivers. I have tried again with DOSBox-X, and it was a much simpler experience. … [Leggi il resto]

NetStylus

Preamble

Recently I started digital sculpting, and I immediately realized that the mouse is not the best tool for this scope. As any tutorial will tell you, a drawing tablet will make you much faster and much more precise.

I do not have one, but I have a Microsoft Surface Pro and a Surface Pen. However, it is the base, not-so-powerful model: it has just a Core M3 and 4GB of RAM. It was enough to study at University, but, sadly, I cannot even think of running a 3D editor in it.

Initially, I tried Weylus, a program that allows you to control a machine (my Linux desktop, in my case) through a web browser from any device with a stylus. Being web-based, it works on any device, including iPads, and it even mirrors the screen.

However, it did not play well with the barrel button of my pen. And that button is critical for a lot of workflows.

Therefore, I decided to write my own software to do so: NetStylus.

The Win32 API for tablets

I discovered that Microsoft has liked pen input methods for years: they started the Tablet PC thing with Windows XP, before 2005!

They have several APIs and functionality, but we are interested in the one that sits at the beginning of the chain: the Real-Time Stylus interface.[Leggi il resto]

Un'idea per Windows Update

Nell’ultima versione, Avast ha integrato una funzionalità molto interessante: l’aggiornamento dei software.

Chi è abituato a usare Windows non sa cosa la comodità dei gestori di pacchetti, cosa che comunque risulterebbe impossibile allo stato attuale in questo sistema operativo per svariate motivazioni, come per esempio che esiste troppo software per questa piattaforma. Fanno forse un po’ eccezione le App della Metro UI, ma per il momento non parliamo di quelle.

Così mi è venuta un’idea di fusione tra le due cose: uno schema standard per lo scambio delle informazioni di versione.

Attualmente i software su Windows quando vengono installati aggiungono informazioni sul registro di sistema, visibili quando si va per esempio nel pannello di controllo a disinstallarle. Tra queste per esempio c’è anche il produttore etc (non in tutte però).

Bisognerebbe aggiungere a queste informazioni una chiave dove inserire un URL HTTP(S) che una volta contattato dà in output l’ultima versione del programma, come aggiornarla etc.

In pratica si potrebbe aggiungere una sezione a Windows Update, chiamata per esempio “Programmi di terze parti” e Windows dovrebbe contattare il server, mandando per esempio come parametri GET/POST la versione attuale, la versione del sistema operativo e l’architettura.

In risposta il server dovrebbe dare un file in un formato diffuso, come XML o JSON, dove indica l’ultima versione del file, l’URL e altri dati utili.

Per l’utente finale sarebbe molto più facile tenere traccia di tutte le applicazioni installate e aggiornarle, magari con un solo click. Sarebbe veramente un passo in avanti.

Non sarebbe un vero e proprio gestore di pacchetti, in quanto non prevedo un sistema di dipendenze, però sarebbe sempre meglio che niente.

Windows e le sue maledette attivazioni

In questi giorni ho formattato un computer HP che era nato con Windows Vista ma era stato downgradato a XP.

È stata una tragedia!

L’inizio con l’installer è stato terribile: Blue Screen of Death, provocato dalla modalità SATA. Non mi era mai successo ma almeno così l’ho imparato, poi alla fine XP non ci poteva fare niente, anche se era un SP3… Per fortuna dopo ho messo a posto i driver ed è andato.

Il vero problema è stato attivare Windows. Infatti Microsoft ha un sistema fatto così bene che ferma chi è in regola ma non riesce a fermare la pirateria. Sapevo che l’attivazione di un downgrade sarebbe stata terribile, ma non mi immaginavo fino a che punto.

Ho cominciato a lavorare sul PC ieri pomeriggio, ma prima ho dovuto fare un’immagine del disco fisso precedente, poi ho voluto eliminare per bene con shred le tracce della partizione precedente - pensavo l’errore fosse legato al contenuto del disco. Alla fine sono arrivato ad attivare la copia qualche minuto dopo le 19.

Prima avevo anche tentato la strada del backup dell’attivazione, che sfortunatamente non è servita a niente. Poi ho cercato di attivare col seriale che aveva prima il computer, ma si rifiutavano di eseguire l’operazione. E i call center Microsoft chiudevano alle 19, perciò niente operatore. … [Leggi il resto]