Thanks for that great detailed answer.  I've been meaning to figure out
manifests, your introduction to that subject convinced me to learn more
about it.
Cheers.

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of RSmith
Sent: November-30-13 20:21
To: [email protected]
Subject: Re: [sqlite] Bug in sqlite.exe? NOT !

The virtualization and UAC caused many a headache for unsuspecting
programmers not used to the Linux way. It's a brilliant new way they do it
but they had to move from an old way to a the new way in a way that wouldn't
break old Windows programs (too much). 
Virtualization provided just the trick at the cost of messing with a lot of
people's ideas of how things work.

If I may suggest that you don't try to find a way to circumvent the UAC -
though placing the DB files in "my documents" will do fine at that, rather
embrace the UAC and get yourself a manifest file set up and then use the
App-data folders in the User's folder for settings and a specified other
folder that is not in a system-tree for shared data. (Any will do, such as
C:\mydata\ - it doesn't care that you want to write data to the root, as
long as it isn't into a protected area). [Just Google "Creating a Windows
manifest" 
- the results are myriad]

With the manifest in place you are basically telling Windows "I know what Im
doing and will abide by the rules of not messing with the protected folders,
so please stop treating my program like a child and virtualizing my
paths"... and Windows will happily oblige. You can also use the manifest to
specifically require escalation to admin privileges from the current user
should you need it (the famous pop-up that goes "Program xxx wants to write
to your system folders, dangers are x y z" to which the user may then decide
to allow or deny, and once allowed, you have almost carte blanche on where
to write to. (almost...)

You could also just kill the UAC on your own machine if this is not a
commercial product, Windows let's you do it... but this is a silly thing and
it means your program will not be compatible with other user-computers on
which it isn't disabled.

Cheers,
Ryan


On 2013/12/01 02:17, Eric Teutsch wrote:
> Yep, that's the reason.  Thanks to Marcus and Clemens (with an extra 
> high-5 for the link) for figuring it out, and everybody for 
> suggestions.  Now to figure out where to put the database so that 
> non-admins can see the same file as admins...
> Eric
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Clemens Ladisch
> Sent: November-30-13 16:15
> To: [email protected]
> Subject: Re: [sqlite] Bug in sqlite.exe?
>
> Marcus Grimm wrote:
>> You have the DB file in ProgramData, maybe you are a victim of the 
>> windows file virtualization ?
> Given the symptoms, this is very likely.
> See <http://support.microsoft.com/kb/927387>.
>
>
> Regards,
> Clemens
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to