Problem with Vista: "Run-Time error '75': Path/File access error"

  • Follow


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


0
Reply Claire 6/28/2010 5:27:34 PM

Claire has brought this to us :
> 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.

That folder is off limits in those conditions, except for setup apps 
running with admin privs.  It's just like HKLM.

http://visualstudiomagazine.com/articles/2009/01/19/lemme-tell-ya-where-to-stick-it.aspx

> 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,

Which test is failing?  First thing I'd change is the test for 
GetVersionEx return.

  "If the function succeeds, the return value is a nonzero value."
  http://msdn.microsoft.com/en-us/library/ms724451%28VS.85%29.aspx

-- 
..NET: It's About Trust!  http://vfred.mvps.org
Customer Hatred Knows No Bounds at MSFT
ClassicVB Users Regroup! comp.lang.basic.visual.misc
Free usenet access at http://www.eternal-september.org


0
Reply Karl 6/28/2010 5:36:46 PM


"Karl E. Peterson" <karl@exmvps.org> wrote in message 
news:i0amje$v6a$1@news.eternal-september.org...

: Which test is failing?  First thing I'd change is the test for
: GetVersionEx return.

Ever heard of the IsOS API call?  It returns a boolean based on an fed 
instruction.  Fairly cool thing.


-- 
Customer Hatred Knows No Bounds at MSFT
Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc

Bawwk!  Paulie want a dingleball, bawwk! 

0
Reply Kevin 6/28/2010 6:01:38 PM

Kevin Provance expressed precisely :
> "Karl E. Peterson" <karl@exmvps.org> wrote in message 
> news:i0amje$v6a$1@news.eternal-september.org...
>
>> Which test is failing?  First thing I'd change is the test for
>> GetVersionEx return.
>
> Ever heard of the IsOS API call?  It returns a boolean based on an fed 
> instruction.  Fairly cool thing.

Huh?  No, not familiar.

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


0
Reply Karl 6/28/2010 6:16:23 PM

Karl, what is wrong with that folder:
C:\ProgramData\<my app title>
?
It is listed on the webpage you provided link to.
If that folder location is wrong which location will be safer?
I need the location for all users.
Thanks,
Claire

"Karl E. Peterson" <karl@exmvps.org> wrote in message 
news:i0amje$v6a$1@news.eternal-september.org...
> Claire has brought this to us :
>> 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.
>
> That folder is off limits in those conditions, except for setup apps 
> running with admin privs.  It's just like HKLM.
>
> http://visualstudiomagazine.com/articles/2009/01/19/lemme-tell-ya-where-to-stick-it.aspx
>
>> 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,
>
> Which test is failing?  First thing I'd change is the test for 
> GetVersionEx return.
>
>  "If the function succeeds, the return value is a nonzero value."
>  http://msdn.microsoft.com/en-us/library/ms724451%28VS.85%29.aspx
>
> -- 
> .NET: It's About Trust!  http://vfred.mvps.org
> Customer Hatred Knows No Bounds at MSFT
> ClassicVB Users Regroup! comp.lang.basic.visual.misc
> Free usenet access at http://www.eternal-september.org
>
> 


0
Reply Claire 6/28/2010 6:43:34 PM

Claire laid this down on his screen :
> Karl, what is wrong with that folder:
> C:\ProgramData\<my app title>
> ?
> It is listed on the webpage you provided link to.

There is nothing "wrong" with it.  As I said, it's just like 
HKEY_LOCAL_MACHINE in the registry, though.  And "normal" apps no 
longer have *write* access to that, either.

Your application should have no trouble *reading* data that's stored 
there.  But this location isn't meant for ad hoc read/write access.  
The idea is to write there at setup, or in a similar "admin" mode, and 
then just read it from then on.

> If that folder location is wrong which location will be safer?
> I need the location for all users.

Microsoft doesn't think that all users should be modifying each other's 
data anymore.  Nothing you can do won't be "breaking the rules" in some 
way, if that's what you need, I'm afraid.

Each user should be taking a copy of the original "config" (or whatever 
this data is) and then modifying their own copy in CSIDL_APPDATA, if 
you want to insure the highest compliance (least headaches).

Straight from the horse's orifice:
http://msdn.microsoft.com/en-us/library/ms995853.aspx#w2kcli_req42

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


0
Reply Karl 6/28/2010 7:41:11 PM

Looks like Randy beat me to it: 
http://vbnet.mvps.org/index.html?code/helpers/isos.htm

-- 
Customer Hatred Knows No Bounds at MSFT
Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc

Bawwk!  Paulie want a dingleball, bawwk!
"Karl E. Peterson" <karl@exmvps.org> wrote in message 
news:i0aoto$l4b$1@news.eternal-september.org...
: Kevin Provance expressed precisely :
: > "Karl E. Peterson" <karl@exmvps.org> wrote in message
: > news:i0amje$v6a$1@news.eternal-september.org...
: >
: >> Which test is failing?  First thing I'd change is the test for
: >> GetVersionEx return.
: >
: > Ever heard of the IsOS API call?  It returns a boolean based on an fed
: > instruction.  Fairly cool thing.
:
: Huh?  No, not familiar.
:
: -- 
: .NET: It's About Trust!
: http://vfred.mvps.org
:
: 

0
Reply Kevin 6/28/2010 8:23:56 PM

Kevin Provance explained on 6/28/2010 :
> Looks like Randy beat me to it: 
> http://vbnet.mvps.org/index.html?code/helpers/isos.htm

Nice.  I particularly like a couple of the new flags.  I wonder about 
this implementation:

  'Because the API is defined by name (IsOs) only in Vista
  'and later, we have to at least use GetVersionEx
  'to find out if the named or ordinal version of the
  'API needs to be called based on the OS the code
  'is being run on.

  'There are at least two ways of doing this:
  '1) attempt calling the ordinal API passing OS_VISTA;
  '   the ordinal-named API called on Vista works for
  '   backwards compatibility with earlier apps, or
  '2) call GetVersionEx using the IsWinVista wrapper function.
  '
  'Code for both methods are included in this demo; the
  'commented out line below would call the second method.

What's wrong with just calling it by ordinal, with error trapping, and 
falling back to using the export name as needed (probably far in the 
future)?

The function design shows some serious intelligence upgrades have taken 
place, too, as new constants can be added at will over time! :-)

Thanks...   Karl

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


0
Reply Karl 6/28/2010 8:39:19 PM

"Karl E. Peterson" <karl@exmvps.org> wrote in message 
news:i0b19p$vq3$1@news.eternal-september.org...
: Nice.  I particularly like a couple of the new flags.  I wonder about
: this implementation:
:
:  'Because the API is defined by name (IsOs) only in Vista
:  'and later, we have to at least use GetVersionEx
:  'to find out if the named or ordinal version of the
:  'API needs to be called based on the OS the code
:  'is being run on.
:
:  'There are at least two ways of doing this:
:  '1) attempt calling the ordinal API passing OS_VISTA;
:  '   the ordinal-named API called on Vista works for
:  '   backwards compatibility with earlier apps, or
:  '2) call GetVersionEx using the IsWinVista wrapper function.
:  '
:  'Code for both methods are included in this demo; the
:  'commented out line below would call the second method.
:
: What's wrong with just calling it by ordinal, with error trapping, and
: falling back to using the export name as needed (probably far in the
: future)?
:
: The function design shows some serious intelligence upgrades have taken
: place, too, as new constants can be added at will over time! :-)
:

Yeah, I saw that too...looking over Randy's code for the error trap for 
entry point not found.  That's how I would do it as well. 

0
Reply Kevin 6/28/2010 9:01:49 PM

Kevin Provance wrote:
> "Karl E. Peterson" <karl@exmvps.org> wrote... 
>> What's wrong with just calling it by ordinal, with error trapping, and
>> falling back to using the export name as needed (probably far in the
>> future)?
>
> Yeah, I saw that too...looking over Randy's code for the error trap for 
> entry point not found.  That's how I would do it as well. 

Something like this?

   ' IsOS was undoc'd and exported by ordinal only until Vista.
   Private Declare Function IsOS Lib "shlwapi.dll" (ByVal dwOS As Long) 
As Long
   Private Declare Function IsOSAsOrdinal Lib "shlwapi.dll" Alias 
"#437" (ByVal dwOS As Long) As Long

   ' Returns TRUE/FALSE depending on question
   Private Const OS_WINDOWS = 0                             ' Windows 
9x vs. NT
   Private Const OS_NT = 1                                  ' Windows 
9x vs. NT
   Private Const OS_WIN95ORGREATER = 2                      ' Win95 or 
greater
   Private Const OS_NT4ORGREATER = 3                        ' NT4 or 
greater
   Private Const OS_WIN98ORGREATER = 5                      ' Win98 or 
greater
   Private Const OS_WIN98_GOLD = 6                          ' Win98 
Gold (Version 4.10 build 1998)
   Private Const OS_WIN2000ORGREATER = 7                    ' Some 
derivative of Win2000

   ' NOTE: these flags check explicitly for (dwMajorVersion == 5)
   Private Const OS_WIN2000PRO = 8                          ' Windows 
2000 Professional (Workstation)
   Private Const OS_WIN2000SERVER = 9                       ' Windows 
2000 Server
   Private Const OS_WIN2000ADVSERVER = 10                   ' Windows 
2000 Advanced Server
   Private Const OS_WIN2000DATACENTER = 11                  ' Windows 
2000 Data Center Server
   Private Const OS_WIN2000TERMINAL = 12                    ' Windows 
2000 Terminal Server in "Application Server" mode (now simply called 
"Terminal Server")

   Private Const OS_EMBEDDED = 13                           ' Embedded 
Windows Edition
   Private Const OS_TERMINALCLIENT = 14                     ' Windows 
Terminal Client (eg user is comming in via tsclient)
   Private Const OS_TERMINALREMOTEADMIN = 15                ' Terminal 
Server in "Remote Administration" mode
   Private Const OS_WIN95_GOLD = 16                         ' Windows 
95 Gold (Version 4.0 Build 1995)
   Private Const OS_MEORGREATER = 17                        ' Windows 
Millennium (Version 5.0)
   Private Const OS_XPORGREATER = 18                        ' Windows 
XP or greater
   Private Const OS_HOME = 19                               ' Home 
Edition (eg NOT Professional, Server, Advanced Server, or Datacenter)
   Private Const OS_PROFESSIONAL = 20                       ' 
Professional     (aka Workstation; eg NOT Server, Advanced Server, or 
Datacenter)
   Private Const OS_DATACENTER = 21                         ' 
Datacenter       (eg NOT Server, Advanced Server, Professional, or 
Personal)
   Private Const OS_ADVSERVER = 22                          ' Advanced 
Server  (eg NOT Datacenter, Server, Professional, or Personal)
   Private Const OS_SERVER = 23                             ' Server    
       (eg NOT Datacenter, Advanced Server, Professional, or Personal)
   Private Const OS_TERMINALSERVER = 24                     ' Terminal 
Server - server running in what used to be called "Application Server" 
mode (now simply called "Terminal Server")
   Private Const OS_PERSONALTERMINALSERVER = 25             ' Personal 
Terminal Server - per/pro machine running in single user TS mode
   Private Const OS_FASTUSERSWITCHING = 26                  ' Fast User 
Switching
   Private Const OS_WELCOMELOGONUI = 27                     ' New 
friendly logon UI
   Private Const OS_DOMAINMEMBER = 28                       ' Is this 
machine a member of a domain (eg NOT a workgroup)
   Private Const OS_ANYSERVER = 29                          ' is this 
machine any type of server? (eg datacenter or advanced server or 
server)?
   Private Const OS_WOW6432 = 30                            ' Is this 
process a 32-bit process running on an 64-bit platform?
   Private Const OS_WEBSERVER = 31                          ' Web 
Edition Server
   Private Const OS_SMALLBUSINESSSERVER = 32                ' SBS 
Server
   Private Const OS_TABLETPC = 33                           ' Are we 
running on a TabletPC?
   Private Const OS_SERVERADMINUI = 34                      ' Should 
defaults lean towards those preferred by server administrators?
   Private Const OS_MEDIACENTER = 35                        ' eHome 
Freestyle Project
   Private Const OS_APPLIANCE = 36                          ' Windows 
..NET Appliance Server
   Private Const OS_VISTA  = 37                             ' [UNDOC] 
Windows Vista or greater

   Public Enum osConstants
      osWINDOWS = OS_WINDOWS                                ' 0
      osNT = OS_NT                                          ' 1
      osWIN95ORGREATER = OS_WIN95ORGREATER                  ' 2
      osNT4ORGREATER = OS_NT4ORGREATER                      ' 3
      osWIN98ORGREATER = OS_WIN98ORGREATER                  ' 5
      osWIN98_GOLD = OS_WIN98_GOLD                          ' 6
      osWIN2000ORGREATER = OS_WIN2000ORGREATER              ' 7
      osWIN2000PRO = OS_WIN2000PRO                          ' 8
      osWIN2000SERVER = OS_WIN2000SERVER                    ' 9
      osWIN2000ADVSERVER = OS_WIN2000ADVSERVER              ' 10
      osWIN2000DATACENTER = OS_WIN2000DATACENTER            ' 11
      osWIN2000TERMINAL = OS_WIN2000TERMINAL                ' 12
      osEMBEDDED = OS_EMBEDDED                              ' 13
      osTERMINALCLIENT = OS_TERMINALCLIENT                  ' 14
      osTERMINALREMOTEADMIN = OS_TERMINALREMOTEADMIN        ' 15
      osWIN95_GOLD = OS_WIN95_GOLD                          ' 16
      osMEORGREATER = OS_MEORGREATER                        ' 17
      osXPORGREATER = OS_XPORGREATER                        ' 18
      osHOME = OS_HOME                                      ' 19
      osPROFESSIONAL = OS_PROFESSIONAL                      ' 20
      osDATACENTER = OS_DATACENTER                          ' 21
      osADVSERVER = OS_ADVSERVER                            ' 22
      osSERVER = OS_SERVER                                  ' 23
      osTERMINALSERVER = OS_TERMINALSERVER                  ' 24
      osPERSONALTERMINALSERVER = OS_PERSONALTERMINALSERVER  ' 25
      osFASTUSERSWITCHING = OS_FASTUSERSWITCHING            ' 26
      osWELCOMELOGONUI = OS_WELCOMELOGONUI                  ' 27
      osDOMAINMEMBER = OS_DOMAINMEMBER                      ' 28
      osANYSERVER = OS_ANYSERVER                            ' 29
      osWOW6432 = OS_WOW6432                                ' 30
      osWEBSERVER = OS_WEBSERVER                            ' 31
      osSMALLBUSINESSSERVER = OS_SMALLBUSINESSSERVER        ' 32
      osTABLETPC = OS_TABLETPC                              ' 33
      osSERVERADMINUI = OS_SERVERADMINUI                    ' 34
      osMEDIACENTER = OS_MEDIACENTER                        ' 35
      osAPPLIANCE = OS_APPLIANCE                            ' 36
      osVISTA = OS_VISTA                                    ' 37
   End Enum

   Public Function TestOS(ByVal TestCase As osConstants) As Boolean
      On Error Resume Next
      ' Ordinal only until Vista!
      TestOS = IsOSAsOrdinal(TestCase)
      If Err.Number Then
         ' Ordinal no longer exported?
         TestOS = IsOS(TestCase)
      End If
   End Function

-- 
..NET: It's About Trust!  http://vfred.mvps.org
Customer Hatred Knows No Bounds at MSFT
ClassicVB Users Regroup! comp.lang.basic.visual.misc
Free usenet access at http://www.eternal-september.org


0
Reply Karl 6/28/2010 9:15:39 PM

Thank you Karl.
Now I understand, I hope.
When installing app to be used by all users how should the program be 
installed?
I understand that HKLM must be used regarding the registry but how about app 
path?
My app creates logs, keeps preferences in ini file, adds menu extension to 
IE browser and installs plug-ins for FireFox.
How to do that for all the users?
Any pointers appreciated,
Claire

"Karl E. Peterson" <karl@exmvps.org> wrote in message 
news:i0atsp$28h$1@news.eternal-september.org...
> Claire laid this down on his screen :
>> Karl, what is wrong with that folder:
>> C:\ProgramData\<my app title>
>> ?
>> It is listed on the webpage you provided link to.
>
> There is nothing "wrong" with it.  As I said, it's just like 
> HKEY_LOCAL_MACHINE in the registry, though.  And "normal" apps no longer 
> have *write* access to that, either.
>
> Your application should have no trouble *reading* data that's stored 
> there.  But this location isn't meant for ad hoc read/write access.  The 
> idea is to write there at setup, or in a similar "admin" mode, and then 
> just read it from then on.
>
>> If that folder location is wrong which location will be safer?
>> I need the location for all users.
>
> Microsoft doesn't think that all users should be modifying each other's 
> data anymore.  Nothing you can do won't be "breaking the rules" in some 
> way, if that's what you need, I'm afraid.
>
> Each user should be taking a copy of the original "config" (or whatever 
> this data is) and then modifying their own copy in CSIDL_APPDATA, if you 
> want to insure the highest compliance (least headaches).
>
> Straight from the horse's orifice:
> http://msdn.microsoft.com/en-us/library/ms995853.aspx#w2kcli_req42
>
> -- 
> .NET: It's About Trust!
> http://vfred.mvps.org
>
> 


0
Reply Claire 6/28/2010 10:39:33 PM

> 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


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.

Viken


0
Reply Viken 6/28/2010 10:58:39 PM

Claire pretended :
> When installing app to be used by all users how should the program be 
> installed?

I don't do a lot of installs, so I can be vague at best.

> I understand that HKLM must be used regarding the registry but how about app 
> path?

CSIDL_PROGRAM_FILES - But really, your install app should be wired for 
that.

The HKLM analogy is important, though!  Don't brush it off so quickly.  
The concepts surrounding accessibility to that are the same as for the 
folder you posted about.

> My app creates logs, keeps preferences in ini file, adds menu extension to IE 
> browser and installs plug-ins for FireFox.
> How to do that for all the users?

You need to choose whether you plan to follow the rules or not.  Advice 
can only be based on that.

The general rule, though, is that you can't share like that anymore.  
If your application finds that "this" is the first time it's run, then 
it grabs a copy of that generic data and molds it to the current user, 
forever disassociating itself at that point.

So, to specifically answer your question, in the vaguest possible 
terms, I'd say, "One at a time" and/or during installation.

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


0
Reply Karl 6/28/2010 11:18:32 PM

on 6/28/2010, Viken Cerpovna supposed :
> 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

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


0
Reply Karl 6/28/2010 11:20:22 PM

Karl E. Peterson used his keyboard to write :
> on 6/28/2010, Viken Cerpovna supposed :
>> 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.

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


0
Reply Karl 6/28/2010 11:21:19 PM

>> 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.
>
> -- 
> .NET: It's About Trust!
> http://vfred.mvps.org


Which begs the question, has it been changed at some point to impact access 
to the files, or does the file itself have permissions set (not inherited 
from the parent) so that it cannot be accessed or updated?

Viken 

0
Reply Viken 6/28/2010 11:54:36 PM

Viken Cerpovna was thinking very hard :
>>> 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.
>
> Which begs the question, has it been changed at some point to impact access 
> to the files, or does the file itself have permissions set (not inherited 
> from the parent) so that it cannot be accessed or updated?

Lacking details, my bet would be that a setup program put the files 
there in the first place, which is perfectly legit.  (Just as they can 
write to HKLM.)  So nothing really changed, other than the permissions 
the accessing processes were operating under.

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


0
Reply Karl 6/29/2010 12:00:06 AM

On Mon, 28 Jun 2010 18:39:33 -0400, "Claire" <replyto@fra> wrote:
  
>When installing app to be used by all users how should the program be 
>installed?

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 use Chrome stictlly for Facebook and nothing else so FB can't pass
my information to other websites. )

>I understand that HKLM must be used regarding the registry but how about app 
>path?

HKCU can also be used for user settings.  Athough I prefer INI files.

>My app creates logs, keeps preferences in ini file, 

Those should go into the indvidual user APPDATA folder.

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/
0
Reply Tony 6/29/2010 1:33:55 AM

On Mon, 28 Jun 2010 16:21:19 -0700, Karl E. Peterson <karl@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..  

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/
0
Reply Tony 6/29/2010 1:37:10 AM

On Mon, 28 Jun 2010 18:54:36 -0500, "Viken Cerpovna" <viken@spam.com>
wrote:
  
>Which begs the question, has it been changed at some point to impact access 
>to the files, or does the file itself have permissions set (not inherited 
>from the parent) so that it cannot be accessed or updated?

Windows Vista and newer locked down the Common_Appdata folder.    I
started receiving complaints about my Auto FE Updater not being able
to create shortcuts on the common desktop in Windows Vista so I
deprecated that feature in myutility.  Thus I suggest the users
desktop., among other places.

(I had one person recently email stating theiir IT depertment had even
locked down the desktop to being unable to create shortcuts.  So I
added the ability to create shortcuts in the My Documents folder.)

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/
0
Reply Tony 6/29/2010 1:40:12 AM

On Mon, 28 Jun 2010 16:20:22 -0700, Karl E. Peterson <karl@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>

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/
0
Reply Tony 6/29/2010 2:03:26 AM

| 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>
|

  Yes, and the parent folder is named with
a GUID that must match the one in
HKEY_CURRENT_USER\Identities\*. You can
back up the OE files but you might need to
adjust that GUID later unless you're replacing
the system with a matching disk image.

   Then there are things like wallpaper, HOSTS
file, bookmarks files for one or more browsers
(which get saved in app data), OE address book
(also in app data) file backup for the notable number
of programs that save docs to their own private
location by default, ISP/email settings, etc.


   I think all of the common wisdom about
where to put files and where they get backed
up is for corporate employees. They work with
a limited number of specific programs like MS
Word. Their admin. may back up their Docs folder.
And that's all they really need. Other people
who keep things in the Docs folder do it simply
because they're unaware of how the whole thing
works. Docs is on C drive. When the system crashes
Docs is lost. It's really a bad idea in the first
place. All the more so these days, with people
having Windows AND all of their docs, photos,
etc. on a single, 300 GB partition. The whole thing
is needlessly lost if Windows goes south.

  I take the approach of leaving it to people to
choose where to save files, so that they might
possibly get the idea to take charge of the
file system themselves, or at least know where
their files are. Time and again I run
into people who use Word, which saves to My
Documents without asking, and those people
have no idea where their files are. "Word knows".
Which is fine...until the PC crashes. 


0
Reply Mayayana 6/29/2010 2:50:41 AM

On Mon, 28 Jun 2010 22:50:41 -0400, "Mayayana"
<mayayana@invalid.nospam> wrote:
  
>| 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>
>|
>
>  Yes, and the parent folder is named with
>a GUID that must match the one in
>HKEY_CURRENT_USER\Identities\*. 

Or you can explicitly name the folder in the Outlook/Outlook Express
Profiles.  Which I've done as I place those files inside the My
Documents folder so the users back them up as well.


>OE address book
>(also in app data) 

Oh yeah, that's in a WAB file.  I forgot about that one.

The others well I'm not as concerned about.   Thanks for remnding me
about the bookmarks though.  I should talk to that user tomorrow to
see if that's a problem.

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/
0
Reply Tony 6/29/2010 2:59:45 AM

"Tony Toews" <ttoews@telusplanet.net> wrote in message 
news:2vii26p4nn76gq75c2trp68dsjcrca4q0m@4ax.com...
:
: 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!!!!

- K 

0
Reply Kevin 6/29/2010 3:18:41 AM

"Tony Toews" <ttoews@telusplanet.net> wrote in message 
news:08oi2697ign00bp2jbb448v69g0gh6omae@4ax.com...
: On Mon, 28 Jun 2010 22:50:41 -0400, "Mayayana"
: <mayayana@invalid.nospam> wrote:
:
:
: Oh yeah, that's in a WAB file.  I forgot about that one.

I found some samples the other day about reading and writing the WAB file 
through COM interfaces.  It was a bit hackish, but it looked like it might 
work. 

0
Reply Kevin 6/29/2010 3:21:20 AM

On Mon, 28 Jun 2010 23:18:41 -0400, "Kevin Provance" <k@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/
0
Reply Tony 6/29/2010 3:35:51 AM

| : 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.  :) 


0
Reply Mayayana 6/29/2010 1:48:54 PM

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@fra> wrote in message 
news:%23YNF4cuFLHA.1272@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
>
> 


0
Reply RDub 6/29/2010 3:14:59 PM

Tony Toews formulated on Monday :
> On Mon, 28 Jun 2010 16:21:19 -0700, Karl E. Peterson <karl@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


0
Reply Karl 6/29/2010 4:11:41 PM

Tony Toews has brought this to us :
> On Mon, 28 Jun 2010 16:20:22 -0700, Karl E. Peterson <karl@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


0
Reply Karl 6/29/2010 4:13:23 PM

On Tue, 29 Jun 2010 09:13:23 -0700, Karl E. Peterson <karl@exmvps.org> wrote:

� > 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!

I don't think that's unusual. The version of Agent I use does the same unless you mark it for
retention.


Paul
~~~~
Microsoft MVP (Visual Basic)
0
Reply Paul 6/29/2010 5:20:44 PM

"Paul Clement" <UseAdddressAtEndofMessage@swspectrum.com> wrote in message 
news:kiak26hk313j9d0hf10um2rbs20852m1qh@4ax.com...
: On Tue, 29 Jun 2010 09:13:23 -0700, Karl E. Peterson <karl@exmvps.org> 
wrote:
:
:  .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!
:
: I don't think that's unusual. The version of Agent I use does the same 
unless you mark it for
: retention.

But...it's your job to apologize for and accept the ways of your master.  We 
all know this already.  Do you have anything new to offer?  Or are you ready 
to come back from the dark side and save your soul?

::snicker::

Yeah, I couldn't type that with a straight face.

-- 
Customer Hatred Knows No Bounds at MSFT
Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc

Bawwk!  Paulie want a dingleball, bawwk! 

0
Reply Kevin 6/29/2010 6:04:34 PM

Paul Clement wrote :
> On Tue, 29 Jun 2010 09:13:23 -0700, Karl E. Peterson <karl@exmvps.org> wrote:
>
> � > 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!
>
> I don't think that's unusual. The version of Agent I use does the same unless 
> you mark it for retention.

You shouldn't have to opt-in to data retention.  That should be the 
default state, with an option to have expired data automatically 
purged.

And I find your analogy similar to saying how great Joe Biden 
considering it could be Dick Cheney.  Not all that affirming for your 
point, IMO.

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


0
Reply Karl 6/29/2010 6:24:05 PM

After serious thinking RDub wrote :
> 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.

Yeah, I just tried it, and it works here too.

I'm running Win7x64 with UAC off, using an Admin account, and VB is 
running as Admin as well.

As developers, we really set ourselves up to be fooled, don't we? <g>

> 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.

That's supposed to be the case, yeah.  Until MSFT gets the next wild 
hair, at any rate.  ;-)

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


0
Reply Karl 6/29/2010 6:24:09 PM

On Tue, 29 Jun 2010 11:24:05 -0700, Karl E. Peterson <karl@exmvps.org> wrote:

� > � > 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!
� >
� > I don't think that's unusual. The version of Agent I use does the same unless 
� > you mark it for retention.
� 
� You shouldn't have to opt-in to data retention.  That should be the 
� default state, with an option to have expired data automatically 
� purged.

I don't necessarily disagree, but it isn't uncommon for a vendor to configure a default clean up
schedule for applications that use system resources to store their data.
 
� And I find your analogy similar to saying how great Joe Biden 
� considering it could be Dick Cheney.  Not all that affirming for your 
� point, IMO.

Actually if we could reverse that situation it would probably make more sense. ;-)

In any event, the point wasn't to justify the initial configuration but to point out that Microsoft
is not the only software vendor that saw fit to set this up by default in their newsreader. 


Paul
~~~~
Microsoft MVP (Visual Basic)
0
Reply Paul 6/29/2010 7:28:47 PM

On Tue, 29 Jun 2010 14:04:34 -0400, "Kevin Provance" <k@p.c> wrote:

� :  .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!
� :
� : I don't think that's unusual. The version of Agent I use does the same 
� unless you mark it for
� : retention.
� 
� But...it's your job to apologize for and accept the ways of your master.  We 
� all know this already.  Do you have anything new to offer?  Or are you ready 
� to come back from the dark side and save your soul?

Why would I apologize for an app that I don't even use?

Do you have anything new to offer or are you just commenting on my comments. ;-)


Paul
~~~~
Microsoft MVP (Visual Basic)
0
Reply Paul 6/29/2010 7:32:14 PM

It happens that Paul Clement formulated :
> � > I don't think that's unusual. The version of Agent I use does the same 
> unless  � > you mark it for retention.
> � 
> � You shouldn't have to opt-in to data retention.  That should be the 
> � default state, with an option to have expired data automatically 
> � purged.
>
> I don't necessarily disagree, but it isn't uncommon for a vendor to configure 
> a default clean up schedule for applications that use system resources to 
> store their data.

That's the very view I find so objectionable.  It's not *their* data!  
It's the user's data.

Twenty years ago, it wasn't uncommon to smoke at will in the presence 
of others.  Today that's considered rather ill-mannered.

The attitude that the vendor controls the data, and to hell with the 
user, is even more vile and needs to change as well.

> � And I find your analogy similar to saying how great Joe Biden 
> � considering it could be Dick Cheney.  Not all that affirming for your 
> � point, IMO.
>
> Actually if we could reverse that situation it would probably make more 
> sense. ;-)

Uh, no.  Not even.  LOL!  Not by a country mile!

> In any event, the point wasn't to justify the initial configuration but to 
> point out that Microsoft is not the only software vendor that saw fit to set 
> this up by default in their newsreader. 

And my point was to say that just because there are other sources of 
evil in the world, that doesn't excuse any single one of them.

User data is sacred!  Vendors be damned.

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


0
Reply Karl 6/29/2010 8:09:46 PM

"Karl E. Peterson" <karl@exmvps.org> wrote in message 
news:i0djub$2tr$1@news.eternal-september.org...
:
: And my point was to say that just because there are other sources of
: evil in the world, that doesn't excuse any single one of them.
:
: User data is sacred!  Vendors be damned.

Have you forgotten who you are talking to?  This is the head of the .Nxt 
evangelicals and a top MSFT stooge. The very collective that said "to hell 
with VB6 users and their code assets" the apotheosis of user data.  You'll 
never convince that clown that user data is anything other than expendable. 
For him or any other .Nxt die hard to say otherwise would be hypocrisy of 
biblical proportion and probably get them a major slap from MSFT themselves 
for straying from the core MSFT mission statement: "We own our customers and 
their data, and we care about neither."

Google and MSFT have more in common then they realize, eh?  <g>


-- 
Customer Hatred Knows No Bounds at MSFT
Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc

Bawwk!  Paulie want a dingleball, bawwk! 

0
Reply Kevin 6/29/2010 10:40:46 PM

| 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.
|

  You realize those are two different things?
If it's per-user data then your change makes
sense. If you want per-machine read/write
it's fairly easy to set permissions on your
subfolder in CSIDL_COMMON_APPDATA. 


0
Reply Mayayana 6/29/2010 11:22:09 PM

|
| That's the very view I find so objectionable.  It's not *their* data!
| It's the user's data.
|
| Twenty years ago, it wasn't uncommon to smoke at will in the presence
| of others.  Today that's considered rather ill-mannered.
|
| The attitude that the vendor controls the data, and to hell with the
| user, is even more vile and needs to change as well.
|

   I'm afraid the prevailing winds are blowing in the
opposite direction. Apple and Google both take
the liberty of controlling software installed on
hardware that you buy. The whole cloud trend
is partially a redefinition of software as a rented service
and data as something held by the servicer.

  And Microsoft is apparently (finally) planning to issue
a "cloud-based OS" with Win8.

http://arstechnica.com/microsoft/news/2010/06/leaked-windows-8-slides-an-app-store-for-windows-ie9-beta-in-august.ars

  The description sounds like Apple's app store
or Ubuntu's software library. Presumably you
can make trinkets in Silverlight, get them
approved by MS, then sell them through Win8
and give MS a cut, and/or host them on the
Azure webhosting service.

  If this happens I presume it means the end
of native code software except from MS partners.

  Interestingly, the link to the original source
of these "leaked" files is now dead, as are the
download links that page was providing to get
the MS files that describe Win8.

 This link has a sample image that seems to imply
that Win8 users will log into the MS "app store"
and see a quasi-Facebook setup where they can
not only shop for software but also download
"apps your friends love". Great, relevant "apps"
like "Where's my dog" or "Find coffee" :) Then you,
as the developer, will be able to log in to see
reports of how your software trinkets are faring
in the market.

http://www.neowin.net/news/microsoft-planning-039windows-store039-app-store-for-windows-8

  I was intrigued by Apple's move last week to
sell real-time GPS data from the iPhone to
advertisers. Apple is selling *hardware*, but
they strongarm their customers into allowing
this intrusion by making them agree to a privacy
policy change when they visit iTunes. They have
no right imposing a software license change on
phone operation. (They might just as well do the
same thing to Blackberry or Android customers,
or to automobile drivers with GPS who visit an
Appple reail store.) But Apple has succeeded in
blurring the line by imposing the agreement online
rather than through the AT&T contract, where the
FCC might be involved.

  So it's not just your data that are belong to us.
You are belong to us. And you gave us that power
by buying a phone from us.

  I'm hoping that some sort of hacker vigilantes
start sending text messages to iPhone people,
telling them things like, "You've spent too much
time in the bathroom. What's going on." Maybe
then people would begin to grok what's going on.
:) 


0
Reply Mayayana 6/29/2010 11:56:12 PM

Eh.  I find this whole trend disturbing.  Win8 will not be on my upgrade 
list.  Not that my VB6 apps would amount to anything anyway.  <g>


"Mayayana" <mayayana@invalid.nospam> wrote in message 
news:i0e14f$8a3$1@news.eternal-september.org...
:
: |
: | That's the very view I find so objectionable.  It's not *their* data!
: | It's the user's data.
: |
: | Twenty years ago, it wasn't uncommon to smoke at will in the presence
: | of others.  Today that's considered rather ill-mannered.
: |
: | The attitude that the vendor controls the data, and to hell with the
: | user, is even more vile and needs to change as well.
: |
:
:   I'm afraid the prevailing winds are blowing in the
: opposite direction. Apple and Google both take
: the liberty of controlling software installed on
: hardware that you buy. The whole cloud trend
: is partially a redefinition of software as a rented service
: and data as something held by the servicer.
:
:  And Microsoft is apparently (finally) planning to issue
: a "cloud-based OS" with Win8.
:
: 
http://arstechnica.com/microsoft/news/2010/06/leaked-windows-8-slides-an-app-store-for-windows-ie9-beta-in-august.ars
:
:  The description sounds like Apple's app store
: or Ubuntu's software library. Presumably you
: can make trinkets in Silverlight, get them
: approved by MS, then sell them through Win8
: and give MS a cut, and/or host them on the
: Azure webhosting service.
:
:  If this happens I presume it means the end
: of native code software except from MS partners.
:
:  Interestingly, the link to the original source
: of these "leaked" files is now dead, as are the
: download links that page was providing to get
: the MS files that describe Win8.
:
: This link has a sample image that seems to imply
: that Win8 users will log into the MS "app store"
: and see a quasi-Facebook setup where they can
: not only shop for software but also download
: "apps your friends love". Great, relevant "apps"
: like "Where's my dog" or "Find coffee" :) Then you,
: as the developer, will be able to log in to see
: reports of how your software trinkets are faring
: in the market.
:
: 
http://www.neowin.net/news/microsoft-planning-039windows-store039-app-store-for-windows-8
:
:  I was intrigued by Apple's move last week to
: sell real-time GPS data from the iPhone to
: advertisers. Apple is selling *hardware*, but
: they strongarm their customers into allowing
: this intrusion by making them agree to a privacy
: policy change when they visit iTunes. They have
: no right imposing a software license change on
: phone operation. (They might just as well do the
: same thing to Blackberry or Android customers,
: or to automobile drivers with GPS who visit an
: Appple reail store.) But Apple has succeeded in
: blurring the line by imposing the agreement online
: rather than through the AT&T contract, where the
: FCC might be involved.
:
:  So it's not just your data that are belong to us.
: You are belong to us. And you gave us that power
: by buying a phone from us.
:
:  I'm hoping that some sort of hacker vigilantes
: start sending text messages to iPhone people,
: telling them things like, "You've spent too much
: time in the bathroom. What's going on." Maybe
: then people would begin to grok what's going on.
::)
:
: 

0
Reply Kevin 6/30/2010 12:04:10 AM

This is the name of the download of Win8 docs,
by the way, if anyone wants to look for it:

Windows8PlanningSlides_Microsoft-w7v.rar

  I don't do file-sharing/torrents, so I don't know
whether the available links are valid.


0
Reply Mayayana 6/30/2010 12:05:09 AM

"Mayayana" <mayayana@invalid.nospam> wrote in message 
news:i0e1kb$34s$1@news.eternal-september.org...
: This is the name of the download of Win8 docs,
: by the way, if anyone wants to look for it:
:
: Windows8PlanningSlides_Microsoft-w7v.rar
:
:  I don't do file-sharing/torrents, so I don't know
: whether the available links are valid.

It was on HuffPo and Betanews, respecively. 

0
Reply Kevin 6/30/2010 12:13:13 AM

Mayayana laid this down on his screen :
>   The description sounds like Apple's app store
> or Ubuntu's software library. Presumably you
> can make trinkets in Silverlight, get them
> approved by MS, then sell them through Win8
> and give MS a cut, and/or host them on the
> Azure webhosting service.
>
>   If this happens I presume it means the end
> of native code software except from MS partners.

The people I know who are playing with Win8 right now tell me it's "COM 
to the core."  That's all I know right now.

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


0
Reply Karl 6/30/2010 12:19:14 AM

"Karl E. Peterson" <karl@exmvps.org> wrote in message 
news:i0e2i5$6s0$1@news.eternal-september.org...
:
: The people I know who are playing with Win8 right now tell me it's "COM
: to the core."  That's all I know right now.

What?  Windows.Nxt isn't going to happen?  <eg>

I hope your folks are right.  I *love* COM.

-- 
Customer Hatred Knows No Bounds at MSFT
Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc

Bawwk!  Paulie want a dingleball, bawwk! 

0
Reply Kevin 6/30/2010 2:36:17 AM

Mayayana wrote :
>> 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.
>> 
>
>   You realize those are two different things?
> If it's per-user data then your change makes
> sense. If you want per-machine read/write
> it's fairly easy to set permissions on your
> subfolder in CSIDL_COMMON_APPDATA. 

Yea I understand the difference, but in this case it really woln't make 
much a difference in how the app works.  The files that are gonna wind 
up here will be only be used if we get into a diaster recovery mode, 
and as long as my customers can get to em we are golden.

I am interested what you mean by fairly easy to change permissions on a 
folder.  What if my user does not have permission to even create a 
folder here?  It all scared the crap out of me so unlike Sara Palin I 
decided to just go with the flow, and do the sure thing.

Rdub


0
Reply Ron 6/30/2010 3:01:24 AM


| I am interested what you mean by fairly easy to change permissions on a
| folder.  What if my user does not have permission to even create a
| folder here?  It all scared the crap out of me so unlike Sara Palin I
| decided to just go with the flow, and do the sure thing.
|

   I know what you mean. The whole issue of
permissions is unnecessarily obscure and
convoluted. There are several ways to adjust
them, but not much clarity. For some reason
most people seem to be under the impression
that it's too complex to deal with.

   I'm assuming that you'd want to create a folder
during install, when the installer is running under
admin. rights. If the current user doesn't have
write permission then there's not much you can
do about that. They can't give it to themselves.
But it's become "traditional" to do installs with
admin rights, and in Vista+ if you just use the word
"setup" in the file name of your installer it should
cause an elevation prompt where necessary.

  See this download for a compact class that you
can use:

http://www.jsware.net/jsware/vbcode.php5#set12

  When Vista first came out I decided to research
the whole thing and come up with a solution that
would work for me on all systems, as simply as possible.
This class is small and simple. It allows you to set full
permissions on any folder or Registry key. You can
also remove the modification. It doesn't include more
detailed options or options per-user, but it could be
easily modified to do so. I mainly use it just to create
a folder during install where I can keep program config.
files that anyone can read/write. I then use the folder
only for config. files and delete it on uninstall. So it
sidesteps the permissions mess without risking system
security. 


0
Reply Mayayana 6/30/2010 3:22:16 AM

On Tue, 29 Jun 2010 09:11:41 -0700, Karl E. Peterson <karl@exmvps.org>
wrote:
  
>Inadvertant truncation.  I meant what I meant, not what I said. <g>

Ahh, ok.   BTW did you notice Windows 2000
Application Specification for Microsoft Windows 2000 for Desktop
Applications
just above
Chapter 4: Data and Settings Management

That document might be out of date what with security lock down to
Common App Data MS did in Windows Vista.

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/
0
Reply Tony 6/30/2010 4:06:55 AM

On Tue, 29 Jun 2010 23:22:16 -0400, "Mayayana"
<mayayana@invalid.nospam> wrote:
  

>  See this download for a compact class that you
>can use:
>
>http://www.jsware.net/jsware/vbcode.php5#set12

Very interesting set of links.  Thanks for providig that.  

Also your button code doesn't crash on my system even in an exe like
the JCButton code does.  So maybe your user control will work for me.

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/
0
Reply Tony 6/30/2010 4:24:20 AM

On 28/06/2010 23:39, Claire wrote:
> Thank you Karl.
> Now I understand, I hope.
> When installing app to be used by all users how should the program be
> installed?
> I understand that HKLM must be used regarding the registry but how about app
> path?
> My app creates logs, keeps preferences in ini file, adds menu extension to
> IE browser and installs plug-ins for FireFox.
> How to do that for all the users?
> Any pointers appreciated,
> Claire

Our app (for legacy reasons :) shares its app configuration, logs, etc.
I create a custom folder under the common app data folder and then 
change the permission.

This does mean any user can change them, but it is purely config logs 
and recorded data that goes there, no executables.

This does leave a minor hole where a malicious user can edit the config 
files to get the app (if run privileged) to overwrite something, but if 
you have untrusted users on your CCTV system, you have bigger problems... :)

-- 
Dee Earley (dee.earley@icode.co.uk)
i-Catcher Development Team

iCode Systems

(Replies direct to my email address will be ignored.
Please reply to the group.)
0
Reply Dee 6/30/2010 8:49:34 AM

On Tue, 29 Jun 2010 18:40:46 -0400, "Kevin Provance" <k@p.c> wrote:

� : And my point was to say that just because there are other sources of
� : evil in the world, that doesn't excuse any single one of them.
� :
� : User data is sacred!  Vendors be damned.
� 
� Have you forgotten who you are talking to?  This is the head of the .Nxt 
� evangelicals and a top MSFT stooge. The very collective that said "to hell 
� with VB6 users and their code assets" the apotheosis of user data.  You'll 
� never convince that clown that user data is anything other than expendable. 
� For him or any other .Nxt die hard to say otherwise would be hypocrisy of 
� biblical proportion and probably get them a major slap from MSFT themselves 
� for straying from the core MSFT mission statement: "We own our customers and 
� their data, and we care about neither."

Don't act so helpless Kevin. .NET can save even you. ;-)


Paul
~~~~
Microsoft MVP (Visual Basic)
0
Reply Paul 6/30/2010 12:16:08 PM

| : The people I know who are playing with Win8 right now tell me it's "COM
| : to the core."  That's all I know right now.
|
| What?  Windows.Nxt isn't going to happen?  <eg>
|

   They're pushing it with Silverlight. Windows software
in .Net was never more than a come-on, anyway.

| I hope your folks are right.  I *love* COM.
|
   As you probably know from the businessinsider slides
linked at Huffingtonpost, there's really not much in the
"leaked" docs. I didn't see anything to indicate specifics
about the design of Win8 itself.

  But they don't really need to change Windows itself very
much in order to get to where they want to be. Microsoft
have been trying to figure out for years how to sell the
product and then rent its usage. The slides really don't
demonstrate any new ideas at all. But they do belie the focus.
They're basically wishful thinking about how nice it would be
to bring the income-generating aspects of phone apps and
Facebook into Windows, with something like an Ubuntu
software store full of 3rd-party software that MS gets a
cut of. The trick is to figure out how to charge people
too much for something they don't need, while not allowing
them any other options. ...This sounds like a job for Steve
Jobs. :) 


0
Reply Mayayana 6/30/2010 1:29:11 PM

  I'd never seen the JCButton before. It does seem
awfully big in terms of code. It took a few seconds
just to display the main form in the IDE.

  My button is very simple and light, but it just uses
basic VB functionality -- no API drawing. It's mainly
of use to people who have a knack for graphics. The
trick is to create a good button face image and
carefully adjust the mask colors for that image.

|
| >  See this download for a compact class that you
| >can use:
| >
| >http://www.jsware.net/jsware/vbcode.php5#set12
|
| Very interesting set of links.  Thanks for providig that.
|
| Also your button code doesn't crash on my system even in an exe like
| the JCButton code does.  So maybe your user control will work for me.
|
| 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/ 


0
Reply Mayayana 6/30/2010 1:49:10 PM

On 30/06/2010 04:22, Mayayana wrote:
> But it's become "traditional" to do installs with
> admin rights, and in Vista+ if you just use the word
> "setup" in the file name of your installer it should
> cause an elevation prompt where necessary.

The correct way is to use an appropriate manifest which All Good Setup 
Programs(tm) should already do.

-- 
Dee Earley (dee.earley@icode.co.uk)
i-Catcher Development Team

iCode Systems

(Replies direct to my email address will be ignored.
Please reply to the group.)
0
Reply Dee 6/30/2010 1:50:19 PM

Tony Toews explained on 6/29/2010 :
> On Tue, 29 Jun 2010 09:11:41 -0700, Karl E. Peterson <karl@exmvps.org>
> wrote:
>   
>> Inadvertant truncation.  I meant what I meant, not what I said. <g>
>
> Ahh, ok.   BTW did you notice Windows 2000
> Application Specification for Microsoft Windows 2000 for Desktop
> Applications
> just above
> Chapter 4: Data and Settings Management
>
> That document might be out of date what with security lock down to
> Common App Data MS did in Windows Vista.

The guidelines haven't changed, as far as I know.  Only the enforcement 
of them. <bg>

Thing is, none of us noticed the problems in XP (or 2000) because we 
all ran as admins all the time.  They only became obvious if we tried 
to support an inept relative, and decided to demote their login to 
lowly User, so they wouldn't botch things all up by installing crapware 
after not reading what they clicked.  Well, with Vista/7, the screws 
are tightening, I'm afraid.

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


0
Reply Karl 6/30/2010 4:54:56 PM

Kevin Provance pretended :
> "Karl E. Peterson" <karl@exmvps.org> wrote in message 
> news:i0e2i5$6s0$1@news.eternal-september.org...
>> 
>> The people I know who are playing with Win8 right now tell me it's "COM
>> to the core."  That's all I know right now.
>
> What?  Windows.Nxt isn't going to happen?  <eg>
>
> I hope your folks are right.  I *love* COM.

"COM is Love!" ~Don Box

I was cleaning the office a few months back, and came across an old 
(still wrapped! <g>) condom that was handed out at a VBITS sometime 
last millenium.  That slogan was emblazoned across the little box it 
came in.  How's that for a collectible?  :-)

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


0
Reply Karl 6/30/2010 5:00:48 PM

On Wed, 30 Jun 2010 09:49:10 -0400, "Mayayana"
<mayayana@invalid.nospam> wrote:
  
>It's mainly
>of use to people who have a knack for graphics. 

Which is why I have someone else doing the graphics for me.  <smile>

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/
0
Reply Tony 6/30/2010 6:30:36 PM

"Karl E. Peterson" <karl@exmvps.org> wrote in message 
news:i0fst2$lrq$1@news.eternal-september.org...

> Thing is, none of us noticed the problems in XP (or 2000) because we all 
> ran as admins all the time.  They only became obvious if we tried to 
> support an inept relative, and decided to demote their login to lowly 
> User, so they wouldn't botch things all up by installing crapware after 
> not reading what they clicked.  Well, with Vista/7, the screws are 
> tightening, I'm afraid.

Another way to look at it:

If people hadn't been "abusing" admin accounts and instead had been using 
User all along as was intended (but not enforced), MS wouldn't have had to 
tighten the screws.

For home users, IMO the best thing to do is just turn off the damn UAC. For 
businesses, probably not a good idea to do that.

----
Mike
 

0
Reply MikeD 6/30/2010 7:41:05 PM

Nobody has addressed that part of my post when I said I cannot recreate that 
problem on my computer.
Please guide me what settings should I have in my Vista to trigger that 
error?
So far, I tried all possible combinations /standard user/UAC on-off/ and I 
do not have that error!
I have Vista Ultimate.
Can you please explain why I do not have that error?
Claire

"Claire" <replyto@fra> wrote in message 
news:%23YNF4cuFLHA.1272@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
>
> 


0
Reply Claire 7/6/2010 6:24:46 PM

"Claire" <replyto@fra> wrote in message 
news:euf3HiTHLHA.1868@TK2MSFTNGP05.phx.gbl...
> Nobody has addressed that part of my post when I said I cannot recreate 
> that problem on my computer.
> Please guide me what settings should I have in my Vista to trigger that 
> error?
> So far, I tried all possible combinations /standard user/UAC on-off/ and I 
> do not have that error!
> I have Vista Ultimate.
> Can you please explain why I do not have that error?
> Claire

Use one login ID to create the folder, and another to write to it. Don't 
change the group membership of your account to do this, you must create a 
different standard user, probably form Control Panel-->User Accounts or 
similar icon.



0
Reply Nobody 7/6/2010 6:36:50 PM

That is misunderstanding.
The folder in question is not being created during the setup but on the 
first run of the app.
There is not "different user" involved.
I do not understand.
Thanks,
Claire

"Nobody" <nobody@nobody.com> wrote in message 
news:eEqP8oTHLHA.1868@TK2MSFTNGP05.phx.gbl...
> "Claire" <replyto@fra> wrote in message 
> news:euf3HiTHLHA.1868@TK2MSFTNGP05.phx.gbl...
>> Nobody has addressed that part of my post when I said I cannot recreate 
>> that problem on my computer.
>> Please guide me what settings should I have in my Vista to trigger that 
>> error?
>> So far, I tried all possible combinations /standard user/UAC on-off/ and 
>> I do not have that error!
>> I have Vista Ultimate.
>> Can you please explain why I do not have that error?
>> Claire
>
> Use one login ID to create the folder, and another to write to it. Don't 
> change the group membership of your account to do this, you must create a 
> different standard user, probably form Control Panel-->User Accounts or 
> similar icon.
>
>
> 


0
Reply Claire 7/10/2010 4:08:36 AM

"Claire" <replyto@fra> wrote in message 
news:ODN4TW%23HLHA.4400@TK2MSFTNGP05.phx.gbl...
> That is misunderstanding.
> The folder in question is not being created during the setup but on the 
> first run of the app.
> There is not "different user" involved.
> I do not understand.
> Thanks,
> Claire

UserA runs the app for the first time and the folder is created. By default, 
the creator/owner has read/write access to it, others read only. UserB runs 
the app later, but only has read access because he is not the creator/owner. 
To make UserB access the file or folder for read and write, the folder and 
permissions on that folder must be set at install time(because setting the 
permissions requires administrative privileges) to allow everyone write 
access.


>
> "Nobody" <nobody@nobody.com> wrote in message 
> news:eEqP8oTHLHA.1868@TK2MSFTNGP05.phx.gbl...
>> "Claire" <replyto@fra> wrote in message 
>> news:euf3HiTHLHA.1868@TK2MSFTNGP05.phx.gbl...
>>> Nobody has addressed that part of my post when I said I cannot recreate 
>>> that problem on my computer.
>>> Please guide me what settings should I have in my Vista to trigger that 
>>> error?
>>> So far, I tried all possible combinations /standard user/UAC on-off/ and 
>>> I do not have that error!
>>> I have Vista Ultimate.
>>> Can you please explain why I do not have that error?
>>> Claire
>>
>> Use one login ID to create the folder, and another to write to it. Don't 
>> change the group membership of your account to do this, you must create a 
>> different standard user, probably form Control Panel-->User Accounts or 
>> similar icon.
>>
>>
>>
>
> 


0
Reply Nobody 7/10/2010 4:56:25 AM

61 Replies
2021 Views

(page loaded in 1.384 seconds)

Similiar Articles:































7/22/2012 11:31:09 AM


Reply: