PDA

View Full Version : Install with "limited use"



NewsArchive
06-21-2007, 03:17 AM
In the past, we've installed into a "MyAPP" folder and by
default placed it on the root ( C:\MyAPP) with subfolders
for data etc. and a shortcut on the desktop. I'm now
looking at "the Vista world", and am not having fun yet, but
I am hopeful :-)

With Vista's high-security perspective I'm thinking I should
begin to allow the setup to make the app available to all,
or limit to the signed-on/installing user.
My question is how to go about doing that?

I'll install
- _.exe and _.dll stuff into CSIDL_COMMON_PROGRAMS\MyAPP
- Help, _.ini, data, etc into
CSIDL_COMMON_DOCUMENTS\MyAPP\... This one is still up in
the air, whether to use _APPDATA or _COMMON_APPDATA or
COMMON_DOCUMENTS, but that's OK, I think, for this question.

The default install would assume available to all users and
then install to
CSIDL_COMMON_...
I guess I need to put a Wizard.Dialog in the script after
the License.Agreement and before the Select.Install.Folder
asking if the app should be available to all users of this
computer or only the installer.
If ALL users
install to CSIDL_COMMON_...
If NOT all users
install to CSIDL_... (not common)

-OR-
should I install the software where I want it and merely
place the Short.Cut and the Start.Menu programs entries in
the CSIDL_COMMON or CSIDL_...(not common) locations?

I tell my users "there are no dumb questions". I've found
that to be the case in these NG's and am extremely grateful
for that.

Thanks for the guidance.
Guy

NewsArchive
06-21-2007, 05:53 AM
Guy,

CSIDL_COMMON_PROGRAMS should not include any of your .exe or .dll or
whatever application files! This system folder contains the directories for
the common program groups that appear on the Start menu for all users!

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

"point. click. ship" - that's SetupBuilder 6.5
Create Windows Vista ready installations in minutes

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
06-21-2007, 07:19 AM
Hi Friedrich -

Thanks for jumping in. With the limited brain capacity and
the huge stack of notes and printed pages from MSDN I
confuse easily and often these days.

> CSIDL_COMMON_PROGRAMS should not include any of your .exe or .dll or
> whatever application files!

I should have said CSIDL_PROGRAM FILES.

On my question concernig limiting access to the app
>> should I install the software where I want it and merely
>> place the Short.Cut and the Start.Menu programs entries in
>> the CSIDL_COMMON or CSIDL_...(not common) locations?

Obviously this is not a SB question, but --
do you have any qualms about placing the files, data, etc.
in the same place and changing the location of shortcuts to
allow access to all or to a single user.

Having just said that:
By leaving the files, etc in the same place, I avoid the
possibility of "duplicate installs", on the other hand, I
prevent users from configuring and using the machine as
"theirs".
I think I'll play it straight up.
Access to all users puts programs, data, etc. in
CSIDL_COMMON_APPDATA or CSIDL_COMMON_DOCUMENTS, and
CSIDL_PROGRAM_FILES
Limited to single user puts everything in CSIDL_APPDATA, and
CSIDL_PROGRAMS.

Thanks for the opportunity to ask the question. Usually
asking sheds a lot of light and the answer becomes visible.

See ya later
Guy
- - - - - -

NewsArchive
06-21-2007, 08:43 AM
Hi Guy,

> Thanks for jumping in. With the limited brain capacity and
> the huge stack of notes and printed pages from MSDN I
> confuse easily and often these days.
>
>> CSIDL_COMMON_PROGRAMS should not include any of your .exe or .dll or
>> whatever application files!
>
> I should have said CSIDL_PROGRAM FILES.

<G> Okay :)

> On my question concernig limiting access to the app
>>> should I install the software where I want it and merely
>>> place the Short.Cut and the Start.Menu programs entries in
>>> the CSIDL_COMMON or CSIDL_...(not common) locations?
>
>
> Obviously this is not a SB question, but --
> do you have any qualms about placing the files, data, etc.
> in the same place and changing the location of shortcuts to
> allow access to all or to a single user.
>
> Having just said that:
> By leaving the files, etc in the same place, I avoid the
> possibility of "duplicate installs", on the other hand, I
> prevent users from configuring and using the machine as
> "theirs".
> I think I'll play it straight up.
> Access to all users puts programs, data, etc. in
> CSIDL_COMMON_APPDATA or CSIDL_COMMON_DOCUMENTS, and
> CSIDL_PROGRAM_FILES
> Limited to single user puts everything in CSIDL_APPDATA, and
> CSIDL_PROGRAMS.
>
> Thanks for the opportunity to ask the question. Usually
> asking sheds a lot of light and the answer becomes visible.

As a general rule, do all the user specific initialization stuff
from within your application (e.g. if you have to write to the
HKCU registry key, do it from your app, not from the installer).

From my experiences, I would suggest to do the following:

- Install to All Users.
- Install your application files (.exe, .dll, etc.) to CSIDL_PROGRAM_FILES.
- Place data files (for all users) to CSIDL_COMMON_DOCUMENTS
- Place user specific application data to CSIDL_APPDATA

My .02 ;-)

Friedrich

NewsArchive
06-22-2007, 04:20 AM
Thank you Friedrich, and the other responders as well.
I GREATLY appreciate the time you have devoted on my behalf
and hope others have gained as well.
See ya later
Guy