Windows 7 + VirtualStore

27/10/2010 - 22:45 von Peter Mairhofer | Report spam
Hi,

Ich habe ein Programm geschrieben welches aus einer *.exe Datei besteht
und aus einer *.dat Datei im SQLite3 Format. Sàmtliche Usereinstellungen
landen natürlich brav im Profilverzeichnis.

Von Windows 7 Usern gab es Meldungen über dubiose Meldungen die es so
einfach nicht geben dürfte. Nach stundenlangem suchen habe ich bemerkt
dass Windows7 so ein VirtualStore "Feature" besitzt. Mein "Fehler" war
dass ich die dat-Datei mit sqlite_open geöffnet habe. Obwohl ich keinen
einzigen Schreibzugriff getàtigt habe öffnet diese Funktion die
Datendatei offensichtlich auch im Schreibmodus.

Ich kann jetzt statt

int nRet = sqlite3_open(szFile, &mpDB);

int nRet = sqlite3_open_v2(szFile, &mpDB, SQLITE_OPEN_READONLY, NULL);

verwenden und so die Datei explizit read-only öffnen. Ich dachte das
wàre die Lösung. Allerdings werden die Zugriffe trotzdem noch auf eine
(in vielen Fàllen veralterte) Version im VirtualStore umgeleitet.
Zumindest wenn so eine Datei im VirtualStore existiert ...

Wie bringe ich das am besten wieder in Ordnung? Wie sorge ich dafür dass
*garantiert* die echte Version im c:\Program Files\MyApp Verzeichnis
verwendet wird?

LG Peter
 

Lesen sie die antworten

#1 Jochen Kalmbach[MS MVP]
28/10/2010 - 06:51 | Warnen spam
Du brauchst ein Vista Manifest.
Welche Version von VS verwendest Du?
http://msdn.microsoft.com/en-us/lib...56929.aspx

Greetings
Jochen

Ähnliche fragen