Join us for SoftSummit 2023. The 20th anniversary of the industry leading software monetization conference. April 18 and 20. Register Now

Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 6

Where to put some files...

In the past, our application has always created a folder off of the c:\ drive called c:\marketware. This was convenient because the software was usually installed by an administrator and we set the installation as an "all users" install, so the user could easily see form letters, etc. after the installation was completed, c:\marketware\form_letters.

However, with this version, and now that we have upgraded to Installshield Professional I want to install the program files into a "Program Files" Folder, the database into a folder underneath that, But I still want the form letters, etc. to be installed in a folder easily accessable and with read-write priviledges. I was hoping to install them into a sub folder under Documents, like: \\Documents\MarketWare\Form Letters, however my problem is this: Most of the time the application is installed by an Administrator so now my question is: what is the appropriate "all users" approach to installing files into the Documents Folder? My goal is for the files to be easily marked read-write and to be easily accessible via My Computer, etc.

I would really appreciate some guidance from those of you how have experience in this area. Thanks!!

Labels (1)
0 Kudos
3 Replies
Level 8

Can you mention your OS, because all users common areas in XP and Vista/Windows 7 are different.
0 Kudos
Level 6

That's the challenge isn't it? My install will need to work the same for all OS's. So the big question there a "generic" MyDocuments location?
0 Kudos
Level 10

perhaps the [CommonAppData] property or the [CommonFilesFolder] property could be useful. Also, the %AllUsersProfile% environment variable might be what you're looking for. You would think that windows would be consistent about the logical purposes for these properties and env vars....but this is what you get when you apply logic and thought to MS design practices.

I just noticed that %AllUsersProfile" on xp is "C:\documents and settings\AllUsers" which makes perfect sense since %UserProfile% is "C:\documents and settings\User" on vista, however, the values are "C:\ProgramData" and "C:\Users\User".

Perhaps you'll have to author some logic to initialize this value. start by using the SHGetKnownFolderPath( FOLDERID_PublicDocuments,...) for VersionNT>=600, otherwise use %AllUsersProfile%.
0 Kudos