PDA

View Full Version : Drive mappings not shown when browsing to folder (on Vista clients)! HELP!



NewsArchive
11-05-2009, 01:54 AM
Hi all,

Using SetupBuilder 6.7.2198 (2008/04/23).

I have 2 drive mappings Y and Z to network shares on my NAS and Dell server.

When I run Setup.exe on a Windows XP client, I can browse to the folders on
my Y and Z drives.
So they are visible under Windows XP! This is OK.

BUT when I run Setup.exe on several Windows Vista clients, I can't browse to
the folders on my Y and Z drives, because they are not visible under
"Computer" *only in my setup.exe built with SetupBuilder*. BUT in Vista's
"My Computer" the drives ARE VISIBLE under "My Computer".

What's going on? Vista's "My Computer" shows all drive mappings but
SetupBuilder's setup.exe DON'T show the drive mappings.

Please look at ok.jpg and notok.jpg.

Is there a solution to this problem, because now I can't use my setup.exe to
install my application on network drive mappings (on Vista clients).

Best regards

Jeffrey

NewsArchive
11-05-2009, 01:55 AM
Hi Jeffrey,

This is a "feature" of User Access Control (UAC). Mapped drives are
associated with a logon session. All devices are associated with an locally
unique identifier (LUID) generated for each logon session. Because mapped
drives are associated with LUID, and because elevated applications are using
a different LUID generated during a separate login event, the elevated
application will no longer see any mapped drives for this user.

The elevated and non-elevated administrator accounts have different logon
tokens and can therefore have different drive mappings.

Hope this helps.

Friedrich

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

SetupBuilder is Windows installation -- "point. click. ship"

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
11-05-2009, 01:56 AM
Same thing happens on XP when you use the RunAs feature......

paul macfarlane

NewsArchive
11-05-2009, 01:56 AM
>
> Same thing happens on XP when you use the RunAs feature......
>

Yes, that is correct!

Friedrich

NewsArchive
11-05-2009, 01:56 AM
Hi Friedrich,

Ok, I understand.
But how can I let SetupBuilder also show the mapped drives?
Is there an option in SetupBuilder?

Perhaps via:
Project Settings -> tab Generator -> Set "Execution Level" to: asInvoker??

Best regards

Jeffrey

NewsArchive
11-05-2009, 02:04 AM
Hi Jeffrey,

> Ok, I understand.
> But how can I let SetupBuilder also show the mapped drives?
> Is there an option in SetupBuilder?
>
> Perhaps via:
> Project Settings -> tab Generator -> Set "Execution Level" to: asInvoker??

Well, if you set an application to "asInvoker" (runs non-elevated by
default) then you'll not be able to install your application "per-machine"
nor to write to any protected area (e.g. Program Files, HKEY_LOCAL_MACHINE,
etc.). Is this what you want?

BTW, this is not a SetupBuilder issue! This is how Windows works for (10+)
years ;-) But in the past, it's possible that you never noticed it because
most (99%) users lived in "Admin" mode. This changed now with UAC.

Friedrich

NewsArchive
11-05-2009, 02:05 AM
>
> This changed now with UAC.
>

When I say "now" then I mean more than three years ago. UAC is a permanent
change in the Windows operating system (you'll see this behaviour in Vista,
Windows Server 2008, Windows 7 and Windows Server 2008 R2).

Friedrich

NewsArchive
11-05-2009, 02:05 AM
Hi Friedrich

Perhaps this is the solution in our case.
Our customers have our application (program and data) installed on a network
share, for example:
Z:\ADSYSWIN\PROG for program
Z:\ADSYSWIN\DATA for data

So we don't need to write the registry, Program Files, etc.
Just update our program and data files in ?:\ADSYSWIN\PROG and
?:\ADSYSWIN\DATA.

So in our case, would running "asInvoker" the solution?

Best regards

Jeffrey

NewsArchive
11-05-2009, 02:16 AM
Hi Jeffrey,

> Perhaps this is the solution in our case.
> Our customers have our application (program and data) installed on a
> network share, for example:
> Z:\ADSYSWIN\PROG for program
> Z:\ADSYSWIN\DATA for data
>
> So we don't need to write the registry, Program Files, etc.
> Just update our program and data files in ?:\ADSYSWIN\PROG and
> ?:\ADSYSWIN\DATA.
>
> So in our case, would running "asInvoker" the solution?

The problem is that you never know who created the mapped drive. IMO, the
above is not a general solution.

Mapped drives are associated with a logon session, it's not only a question
of elevated or non-elevated. Different login sessions create different
tokens. It's even possible that you see the mapped drives but they are
unavailable.

If your non-elevated application can see mapped drives (and they are
accessible) then the mapped drives must have been created from that very
same logon session. If you do not see the drives (or they are not
accessible) then another logon session created the mapped drives.

Friedrich

NewsArchive
11-05-2009, 03:34 AM
Hi Friedrich,

Thanks.

So what's in our case the best solution to update program and data files
with SetupBuilder on a mapped drive?
Our application (program and data files) resides on a network share, so
updating of our exe and dll files is only necessary ONE time.
We don't want to install our application (program files) on every client,
because of the the extra work of updating on EVERY CLIENT.
Now it's very easy for us and our customers to create only a shortcut on the
desktop to the mapped drive executable without needing to install the
application on the client machine.

I hope you understand our situation?

Best regards

Jeffrey

NewsArchive
11-05-2009, 03:35 AM
Hi Jeffrey,

> So what's in our case the best solution to update program and data files
> with SetupBuilder on a mapped drive?
> Our application (program and data files) resides on a network share, so
> updating of our exe and dll files is only necessary ONE time.
> We don't want to install our application (program files) on every client,
> because of the the extra work of updating on EVERY CLIENT.
> Now it's very easy for us and our customers to create only a shortcut on
> the desktop to the mapped drive executable without needing to install the
> application on the client machine.
>
> I hope you understand our situation?

Yes, I understand your situation, but I can't give you an answer (see my
previous explanations). This is not a SetupBuilder problem or limitation --
it's how Windows was design and works.

Try it yourself (in a UAC environment). Develop two simple "asInvoker" and
"requireAdministrator" applications that only display a "Browse for Folder"
dialog. The "asInvoker" application runs non-elevated by default, the
"requireAdministrator" application always runs elevated. As a result,
you'll see different mapped drives (depends on which login session created
the map). It's even possible that you see drives that are not accessible
(marked with a red "X").

Hope this helps.

Friedrich

NewsArchive
11-05-2009, 03:35 AM
Thanks Friedrich,

It's clear what Windows does... I mean DOESN'T ;-)
I will try and thanks for your support!

Best regards

Jeffrey

NewsArchive
11-05-2009, 03:36 AM
BTW, I posted the following last year. Still an interesting reading. And
it points to a Microsoft link that provides a "woraround" (not really and
Microsoft says it is not recommended at all to do this)!!!!

http://www.lindersoft.com/forums/showthread.php?p=19725

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

SetupBuilder is Windows installation -- "point. click. ship"

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
11-05-2009, 03:36 AM
Hi Friedrich,

Interesting article, but I won't change the registry settings at my
customers site.

Best regards

Jeffrey

NewsArchive
11-05-2009, 03:39 AM
Hi Jeffrey,

> Interesting article, but I won't change the registry settings at my
> customers site.

Yes, I think that's a "wise" decision :)

Friedrich

NewsArchive
11-05-2009, 03:39 AM
Hi Jeffrey

>So what's in our case the best solution to update program and data files
>with SetupBuilder on a mapped drive?

My guess is that you must use UNC to work around this drive mapping.

\\ComputerName\SharedFolder\file.ext

The problem then becomes determining the name of the Server and the SharedFolder
name.

JohnG