From: Tony Toews on
On Mon, 28 Jun 2010 23:18:41 -0400, "Kevin Provance" <k(a)p.c> wrote:

>: The program should still be installed by an admin account to Program
>: Files. (However I've noticed that, among other things. Google Update
>: and Chrome are now putting exes in APPDATA which are user updatable.
>: Hmm, interesting. It appears MapPoint 2006 put some assembly DLLs in
>: there too.)
>
>I see this too sometimes. And until I read a reliable article from MSFT
>explaining why or encouraging that kind of behaviour, it's a sign of either
>malware or sloppy programming...or both. <g>
>
>IOW...DON'T DO IT MAN!!!!

I'm not and I have no intentions of it. Yet.

That said I'm recommending Access FE (rront ends containing queires,
forms, reports and modules) files be placed into APPDATA as they are
somewhat updated by Access with small amounts of data such as Query
Plans and such. Also this way new Access FE files can be updated from
the server without getting the IT dept involved.

Also, as you are likely aware due to my frequent questions to this
newsgroup, my Auto FE updater utiliity is a drag and drop deployment
to the server. Which would no doubt horrify the IT dept if they knew
about it. <smile> (Which is one reason I digitally sign the exe.)

A future release will give the user the capability of copying down my
VB6 exe to the local system mostly for the situation where the user is
storing data in a replicated database on their laptop. And they want
to take that laptop with them to clients sites. And when this
functionality is added then yes I'll be putting the VB6 exe in the
APPDATA folder. If a new version is available on the server then I'll
be copying down the new version to APPDATA.

Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
For a convenient utility to keep your users FEs and other files
updated see http://www.autofeupdater.com/
Granite Fleet Manager http://www.granitefleet.com/
From: Mayayana on

| : The program should still be installed by an admin account to Program
| : Files. (However I've noticed that, among other things. Google Update
| : and Chrome are now putting exes in APPDATA which are user updatable.
| : Hmm, interesting. It appears MapPoint 2006 put some assembly DLLs in
| : there too.)
|
| I see this too sometimes. And until I read a reliable article from MSFT
| explaining why or encouraging that kind of behaviour, it's a sign of
either
| malware or sloppy programming...or both. <g>
|

An increasing number of programs are installing
with "transparent" self-updating. To my mind that's
malware (and I consider Chrome to be malware),
but the auto-update trend is not likely to go away,
despite people repeatedly losing their installs due to
bad updates (like the recent McAffee problem).

If you've got numerous programs that self-update
(which MS supports) and you want to run in lackey
mode with UAC enabled (which MS recommends)
and you install to Program Files (which MS recommends),
and you leave restricted access settings on the program
folder (which MS recommends), then one doesn't need
to wait for official Microsoft articles to figure out that
something is missing in that logic. :)


From: RDub on
Wow talk about a timely post. I am just getting ready to go Beta on an app
that up until yesterday was using CSIDL_COMMON_APPDATA to store temp and
backup data.

The thing is in all my testing both as a standard user and a Admin in XP,
Vista, and Win 7 this was working with no problems. My App (not the install
app) was able to create a directory 2 levels down (CompanyName/AppName) from
CSIDL_COMMON_APPDATA and read write to my hearts content. I am curious if
anyone can explain why my app has not thrown an error when being run from a
Standard User account in Vista or Win 7.

However after reading all the way through this thread, I have decided not to
temp fate, and to go with CSIDL_LOCAL_APPDATA which if I understand
correctly should never present a problem for any user attempting read/write.

Thanks again to all

Rdub

"Claire" <replyto(a)fra> wrote in message
news:%23YNF4cuFLHA.1272(a)TK2MSFTNGP05.phx.gbl...
> Hello,
> I am not sure what I am doing wrong.
> The fact is that I cannot recreate the problem on my computer, one of my
> users is struggling with.
> The problem is that on his computer app crashes with:
> "Run-Time error '75': Path/File access error" message.
> I have traced this problem to the point app wants to create folder in:
> C:\ProgramData\<my app title>
> That path is obtained using GetSpecialfolder(CSIDL_COMMON_APPDATA)
>
> Interestingly, I cannot recreate that crash on my computer.
>
> User has Vista Business (32 bit), with Administrator privilages and UAC is
> on.
>
> I have also noticed another strange thing about that Vista.
> It returns False to IsWinNT4Plus function:
> ============================
> Function IsWinNT4Plus() As Boolean
> Const VER_PLATFORM_WIN32_NT As Long = 2
> Dim osv As OSVERSIONINFO
>
> osv.OSVSize = Len(osv)
> If GetVersionEx(osv) = 1 Then
> IsWinNT4Plus = (osv.PlatformID = VER_PLATFORM_WIN32_NT) And
> (osv.dwVerMajor >= 4)
> End If
> End Function
> ============================
>
> Any comments and your help appreciated,
> Claire
>
>


From: Karl E. Peterson on
Tony Toews formulated on Monday :
> On Mon, 28 Jun 2010 16:21:19 -0700, Karl E. Peterson <karl(a)exmvps.org>
> wrote:
>
>>>> I would suspect a permissions problem. Have you tried checking the
>>>> Privilege Level option for the application shortcut (Compatibility tab)
>>>> to "Run this program as an administrator"?
>>>>
>>>> If this fixes the problem then you probably need to tweak the security
>>>> settings on the APPDATA folder.
>>>
>>> # CSIDL_COMMON_APPDATA
>>>
>>> This folder should be used for application data that is not user specific.
>>> For example, an application may store a spell check dictionary, a database
>>> of clip-art or a log file in the CSIDL_COMMON_APPDATA folder. This
>>> information will not roam and is available to anyone using the computer.
>>> By default, this location is read-only for normal (non-admin, non-power)
>>> Users. If an application requires normal Users to have write access to an
>>> application specific subdirectory of CSIDL_COMMON_APPDATA, then the
>>> application must explicitly modify the security on that sub-directory
>>> during application setup. The modified security must be documented in the
>>> Vendor Questionnaire.
>>>
>>> http://msdn.microsoft.com/en-us/library/ms995853.aspx#w2kcli_req42
>>
>> So the way I read that is, feel free to modify your own subdirectory
>> security settings, but DO NOT modify the APPDATA directory in any such
>> way.
>
> No, that's now quite how I read that. That paragraph you quote is
> about Common_Appdata which, IIRC, is updatable only by admins. Your
> sentence is about APPDATA..

Inadvertant truncation. I meant what I meant, not what I said. <g>

--
..NET: It's About Trust!
http://vfred.mvps.org


From: Karl E. Peterson on
Tony Toews has brought this to us :
> On Mon, 28 Jun 2010 16:20:22 -0700, Karl E. Peterson <karl(a)exmvps.org>
> wrote:
>
>> # CSIDL_COMMON_APPDATA
>
> Speaking of APPDATA almost data in the APPDATA is settings or
> "temporary" files which can be ignored if a hard drive starts to fail.
> After all most applications store genuine user data, such as photos,
> documents, Excel files, ec in My Documents.
>
> And people know to do a backup of My Documents. Ok, only once a year
> maybe if that but people know about it.
>
> WIth two exceptiosn. Outlook and Outlook Express. For some unknown
> reason MS puts those in APPDATA. OE put it's data files stuff way
> inside in a GUID folder even as I found out last Thursday. <sigh>

Both are inexcusable, of course. I do think even Microsoft understands
Outlook data has some value. But they've always considered OE data to
be disposable, as demonstrated by them *deleteing* it immediately when
OE finds it's no longer on the server!

--
..NET: It's About Trust!
http://vfred.mvps.org


First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10 11 12
Prev: Sorting UDTs
Next: Copy from ListBox to TextBox