Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Endpoint Virtualization Community Blog

Registry Cleaning: A Cautionary Tale

Created: 16 Jul 2007 • Updated: 29 Jul 2010 • 5 comments
fbuonvino's picture
0 0 Votes
Login to vote

I'll never forget a needlepoint carefully hung on the wall of a friend. It read, "Our Home: Clean enough to be healthy but dirty enough to be happy."

Juice contributor fbuonvino points out that the same philosophy should hold true when using registry cleaning tools to tidy up a machine that's housing virtualized applications.

Special care should be taken during registry cleaning on a machine using SVS. A program like Registry Booster or similar, normally used to clean a registry of errors, wrong paths, and open links could possibly mistake registry entries belonging to virtual applications as problems to be dealt with -- if the application is not currently activated.

You could easily verify the problem by making two scans, one with your virtual applications activated and another with those same applications not activated.

My Findings

I've found that if you scan a registry without first activating the virtual applications, and then continue with the error correction steps, you will damage the virtual programs.

My Test Cases

As an example, having on my PC about 40 programs in my SVS list and 60 outside SVS. I scanned and found 1045 errors with all my virtual applications deactivated.

Doing the same scan with 20 programs on my SVS list activated, I found only 724 errors.

Finally, with all the programs on the SVS list activated, I found only 325 errors and after correction I did not find any problems using the virtulized programs.

Increased Scan Time

A straight consequence of making a scan with all virtual programs activated (active, not running) is that the time necessary for scanning is much longer as many PC resources are used.

Comments 5 CommentsJump to latest comment

arjain's picture

After deactivating all layers, if we scan and remove the registry entries, there should be no negative effect on the working as SVS saves all information in svs layers.
So i think its a better idea to deactivate and scan.
Let me know if am wrong.

~ SQA Manual - Crafting tomorrow

If a forum post solves your problem, please flag it as a solution. If you like an article or blog post vote for it.

+7
Login to vote
fbuonvino's picture

I find two different behaviors using to different scanners:
- Norton SystemWorks appears to make the scanning without entering in fslrdr dir when virtulized prgms are deactivated, then finds few errors; when prgms are activated the errors are instead much more and now the list show errors found in fslrdr too.
Although the errors are more in case of activated prgms, that confirms what I said, it is better to activate the virtualized prgms, otherwise errors are not found in the layers.
- Registry Booster instead scans entering in fslrdr dir also with prgms deactivated, finding a lot of errors immediately and many are connected with wrong paths, that's seems correct; instead with prgms activated error number are lower and path errors quite disappear: these are the correct condition in which to make the scan.

The fact, in my opion, is that layers are not physically virtual, they are only part of a protected area ( = fslrdr dir) sometimes scanned, sometimes no.

Fenny

-1
Login to vote
marco.baars-123's picture

very often i see dat if you deactivate a layer, you sometimes still some see files or registry settings from this layer.
These remaining registry settings are probably marked as obsolete since your registry scanner does not see the rest of the related program.
If then these settings will be deleted you do have an incomplete layer.

+1
Login to vote
erikw's picture

The problem discribed is a little bug in SVS. Some software does not write the registry settings to a variable, but sets them as a fixed item. This keeps them out of the layer, and then they will be presented "for ever" in the registry.
It is a lack of software developers to program this way. I wish to ask all programmers to use variables to write to, but even Microsoft is not alway's doing this.
Sounds like a scream in the dark.

A solution is to catch these settings and bring them manually into the layer. Then they will stay in it.
Another solution is to use Wise packagine studio 7 to build the svs layer, and then import it. This will take the settings out of the registry and package them in the layer.

Regards
Erik
www.svs4u.nl

Regards Erik www.DinamiQs.com Dinamiqs is the home of VirtualStorm (www.virtualstorm.org)

*************************************************************
If your issue has been solved, Please mark it as solved
***********

+1
Login to vote
fbuonvino's picture

Fenny

This is a summary of articles appeared on the subject, translated in italian :

Registry Cleaning: A Cautionary Tale

Pulizia del Registro: un Approccio Prudente

Filed under: Software Virtualization Solution Application Compatibility, Cleanup, Registry, Troubleshooting

un grazie a fbuonvino per il suo articolo originale inviato Lunedì 16-7-2007, 10h49 ed integrato Martedi 17-7-2007, 17h01
ed a erikw per il suo prezioso commento del Martedì 17-7-2007, 09h36

Non dimenticherò mai un post-it amorevolmente appeso sulla parete di un amico. Diceva, "Casa mia: pulita abbastanza per essere salubre, ma sporca abbastanza per essere felice."

Il collaboratore di Juice fbuonvino evidenzia il fatto che la stessa filosofia vale nell'utilizzo degli strumenti di pulizia del registro quando vengano usati per pulire una macchina ospitante applicazioni virtualizzate.

Occorre fare particolare attenzione nell'eseguire la pulizia del registro in macchine utilizzanti SVS. Un programma ad es. come Registry Booster o similare, normalmente utilizzato per eliminare dal Registro erori, paths errate e link aperti potrebbe infatti mal interpretare, come errori, voci di registro appartenenti ad applicazioni virtalizzate, quando le stesse non fossero in stato di "attivato"

Potrete facilmente riscontrare il problema tramite due scenari, uno con la vostra applicazione virtuale attivata, l'altro con la stessa non attivata.

In sintesi

Ho notato che se esamino il registro senza prima attivare l'applicazione virtuiale e quindi lascio al programma il compito di correggere gli errori, il layer virtuale può risularne compromesso.

Le mie analisi

Come esempio, avendo sul mio PC circa 40 programmi nella mia lista SVS e 60 al di fuori (sotto il normale Windows XP), dopo un esame del registro, a programmi virtuli disattivati, ho trovato 1045 errori.

Facendo la stessa cosa con 20 programmi della mia lista SVS attivati, ho trovato soltanto 724 errori.

In fine, con tutti i programmi della lista SVS attivati, ho trovato soltanto 325 errori; richiesta quindi, e soltanto in questo ultimo caso, la correzione automatica non ho riscontrato alcun problema nell'uso dei programmi virtualizzati.

Aumento del Tempo di Esame

Una diretta conseguenza dell'esecuzione dell'esame del registro con tutti i programmi attivati (attivati, non in attività) è che il tempo necessario per l'esame sarà molto maggiore in quanto verrano usate molte risorse del PC.

Ad integrazione dell'articolo

Ho riscontrato due differenti comportamenti utilizzando due diversi scanners:
- Norton system Works sembra eseguire l'esame senza entrare nella directory fslrdr quando i programmi vertualizzati siano disattivati, quindi trova pochi errori. Quando i programmi vengono attivati gli errori sono invece molti di più e la loro lista riporta anche errori trovati all'interno di fsldr.
Sebbene nel caso di programmi attivati gli errori siano in numero maggiore , a conferma di quanto prima detto, è meglio tenere i programmi in stato di attivato durante l'esame, altrimenti gli errori all'interno dei layers non potrebbero essere trovati.
- Registry Booster al contrario compie un esame entrando all'interno della directory fslrdr anche con i programmi disattivati, trovando parecchi errori immediatamente, e molti risultano puntare a paths errate il che, in tale condizione, appare corretto. Invece, con programmi attivati, il numero di errori è inferiore e gli errori di path scompaiono quasi del tutto. Anche in questo caso la corretta condizione in cui eseguire l'esame appare quella con i programmi attivati.

Il fatto, a mio parere, è che i layers non sono fisicamente virtuali, essi sono solo parte di una area protetta (la directory fslrdr) a volte esaminata, a volte no.

Aggiungo il commento di erikw che spiega la motivazione di tale anomalo comportamento

Il problema descritto risiede in un piccolo bug di SVS. Qualche software non scrive i settaggi del registro in una variabile, ma li pone come un item fisso. Questo li posiziona fuori del layer, e quindi essi si presentano "per sempre" nel registro.
E' una carenza degli sviluppatori di software programmare in questo modo. Vorrei chiedere a tutti i programmatori di usare variabili in cui scrivere, ma anche Microsoft non fà questo sempre.
Sembra quasi un urlo nel buio.

Una soluzione è di raccogliere questi settaggi e portarli manualmente nel layer. Cosicche possano rimanere lì.
Un'altra soluzione è di usare Wise Packaging Studio 7 per costruire il sys layer, e quindi importarlo. Questo porterà i setttaggi fuori del registro impaccandoli nel layer.

Fenny

+3
Login to vote