Prev. Ellende door Windows Systeem"herstel" Next

Dit artikel is ook verschenen in PRO-GEN-eralia en VVF Genealogie & Computer.

Ellende door Windows Systeem"herstel"

Begin januari 2005 ontspon zich in de PRO-GEN discussiegroep op yahoogroups.com een reeks berichten over een probleem met vreemde relaties in een bestaand PRO-GEN bestand. In totaal hebben zich vijf PRO-GEN gebruikers gemeld die allen hetzelfde probleem bleken te hebben.
Het heeft me vrij veel tijd gekost om de oorzaak te achterhalen. De oorzaak blijkt uiteindelijk buiten PRO-GEN te liggen, maar het is wel een situatie die ook bij andere PRO-GEN gebruikers voor kan komen. Vandaar dit artikel.

Het probleem

Er bleken bij deze vijf PRO-GEN gebruikers enkele onverklaarbare "huwelijken" in het relatiebestand voor te komen. Dat konden M*M, V*V en zelfs V*M relaties zijn. Aangezien u deze laatste helemaal niet binnen PRO-GEN in kan voeren, moest er dus ergens iets fout gaan.
Tijdens het onderzoek van de toegezonden backup-bestanden bleek dat het al in 2002 fout kon gaan. Tevens bleek het vaak een aaneengesloten rij relaties te betreffen. Ook bleek er een bestandsindex beschadigd te zijn. Ik heb vervolgens alle plekken waar die index bewerkt werd nagekeken en heb nergens een fout kunnen vinden.

De oorzaak

Zoals u uit de titel van dit verhaal al kunt afleiden, is de Windows Systeemherstel functie uiteindelijk de veroorzaker van het probleem.
Bij Windows Systeemherstel worden zogenaamde "herstelpunten" vastgelegd. Dit is bedoeld om problemen op te lossen die bijvoorbeeld na installatie van een driver of een programma kunnen ontstaan. Men kan de PC dan terugbrengen in de stand van het opgeslagen herstelpunt.
Deze Systeemherstel functie zit in Windows ME en in Windows XP. Herstelpunten kunnen handmatig aangemaakt worden, maar worden ook automatisch aangemaakt bij installatie van Windows updates en bij installatie van drivers.

Microsoft schrijft dat het terugzetten van zo'n herstelpunt geen invloed zou hebben op gebruikersbestanden, maar dit blijkt niet geheel waar te zijn. Weliswaar blijven bestanden in de "Mijn documenten" map en enkele andere speciale mappen ongemoeid, maar voor de overige mappen is er een verborgen lijst van 577 bestandsextensies, waarvan de bestanden door Windows Systeemherstel worden bewaard en eventueel later teruggezet.
Van die 577 bestandsextensies zijn er een paar die door PRO-GEN gebruikt worden. De belangrijkste is de PER extensie die voor het personenbestand gebruikt wordt. De overige onderdelen van een PRO-GEN bestand blijven ongemoeid. Wel zijn er enkele andere bestandsextensies in gebruik; zoals bijvoorbeeld INI bestanden die in PRO-GEN gebruikt worden voor het opslaan van de "Opgeslagen instellingen" van de tekstuitvoer.

Gevolgen voor PRO-GEN

Stel u heeft een herstelpunt aangemaakt en daarna in uw PRO-GEN bestand 10 personen en 5 relaties toegevoegd. Als u dan via Windows Systeemherstel dat herstelpunt laat terugzetten, dan raakt u die laatste 10 personen (uit het PER bestand) kwijt. Echter de bijbehorende 5 relaties (uit het REL bestand) zijn er nog wel. Deze 5 relaties verwijzen dan naar 10 niet bestaande persoonnummers.
Als u vervolgens weer (andere) personen gaat toevoegen, dan raken die persoonnummers weer gevuld met 10 nieuwe personen. De verwijzingen in die 5 bestaande relaties gaan dan weer werken, waardoor de ingevoerde personen plotseling een relatie hebben. Afhankelijk van de volgorde waarin u die 10 personen gaat invoeren kunnen er in die 5 relaties dus mannen op de plek van vrouwen terechtkomen en omgekeerd. Ook zullen die personen helemaal niet bij elkaar blijken te horen.
Dit is alleen te herstellen door het inlezen van een PRO-GEN backup van vóór het moment dat dit herstelpunt is teruggezet. Als die backup er niet is, dan moeten die 5 relaties geheel gewist worden en moeten de werkelijke relaties tussen die personen ingevoerd worden.

Oplossing

Nu we dit weten, proberen we natuurlijk een oplossing te vinden die dit probleem omzeilt en in de toekomst voorkomt. We denken daarbij aan het aanvullen van die verborgen lijst in Windows, zodat Systeemherstel de PG30 map ongemoeid gaat laten. Ook kan er een waarschuwing gaan komen als de betreffende index langer is dan het personenbestand.
Dit zal zo snel mogelijk op de PRO-GEN homepage beschikbaar komen in "Aanvulling 9".

Aanbevelingen

Er zijn wel een aantal aanbevelingen te geven om deze problemen te voorkomen:
  1. Zorg voor een goed backup-systeem voor uw PC, zodat u de Systeemherstel functie niet nodig heeft. U kunt Systeemherstel dan zelfs helemaal uitschakelen. Dat scheelt weer in schijfruimte, snelheid en problemen.
  2. Zorg voor meerdere backup's van uw PRO-GEN bestand, zodat u niet alleen de laatste backup kunt terughalen maar ook eerdere. Gebruik daartoe vaker nieuwe diskettes en bewaar dan de eerdere backup-diskettes.
  3. Maak in ieder geval een PRO-GEN backup vóórdat u een herstelpunt gaat terugzetten en lees die backup dan direct weer in m.b.v. restore, nadat dat herstelpunt is teruggezet.
  4. Doordat ook INI bestanden worden "hersteld", kunt u toegevoegde eigen instellingen kwijt raken. Maak daarom een kopie van uw gehele PG30 map (bijvoorbeeld op een CD-R) voordat u een herstelpunt terugzet.
  5. Gebruik de Systeemherstel functie waarvoor deze bedoeld is; namelijk om voorafgaand aan een risicovolle installatie een herstelpunt vast te leggen en deze onmiddellijk na die installatie te gebruiken als er problemen zijn. Terugkeren naar herstelpunten van enkele dagen of zelfs enkele weken geleden, is sterk af te raden.

Conclusie

Gebruik de Windows Systeemherstel functie met beleid, want in sommige gevallen had het beter "Systeemverniel" functie kunnen heten.
Niet alleen in PRO-GEN kan dit mis gaan, maar bij alle programma's (Windows of DOS maakt hier niet uit) die bestanden bewerken met één van die 577 extensies. Zo worden sommige bestanden van WordPerfect for Windows op dezelfde manier door Systeemherstel "hersteld", terwijl Word bestanden uiteraard ongemoeid blijven! Dat werpt weer een ander licht op de concurrentie tussen deze programma's.
Voor PRO-GEN bestanden hopen we deze problemen straks te kunnen voorkomen als u "Aanvulling 9" voor PRO-GEN 3.0b heeft geïnstalleerd. Bezoek daarom regelmatig onze homepage op www.pro-gen.nl