Questions about creating applications for Vista

A

Amy Blankenship

Hi, all;

I am not sure if this is the correct Vista forum for these questions, so if
I need to ask somewhere else please let me know. I am creating eLearning
applications in a program called Macromedia Authorware. In order to
validate the users, we use the Xtras provided by Macromedia to hit a web
page on my client's server to confirm the user's identity and mark him/her
registered. These tools are very old and not great. For instance, they
can't pick up any proxy data. On the client, we install a mdb file to the
hard drive that both contains the course content and tracks the user, which
we use ODBC to communicate with.

Vista came out right before our first product release, and sort of took us
by surprise. So we did some quick emergency testing to discover that when
the exe runs from the CD as it is designed to run, even admin users have to
set the compatibility mode of the exe so that the login works (the login
requires both the hit to the internet and database communication.

The problem we have is that our users have a very low level of technical
competency, so they often are not able to follow the instructions for making
the compatibility mode change. Additionally, they expect us to provide them
with the password to make any needed elevation. They are often not capable
(or in some cases they are capable but unwilling) to understand any
explanations of why we can't provide them with the password.

So, I am trying to figure out a way to remake the application before the
next release that will allow us to avoid having to prompt the user. But to
do that, I need more information about what features in an application cause
these prompts. I have looked in vain for information on this at MSDN, but I
have only found information on the Compatibility Assistant, etc., and not
what the assistant is actually looking for.

What I need to know is this:

1) If the application is installed vs. running from DVD, does that make a
difference? What constitutes "installed"? I have found that for admin
users, copying the whole DVD to the desktop does in fact avoid the
requirement for compatibility mode and run as administrator. Lower level
users are still prompted when the exe is run, but I'm not sure if a "real"
installation could avoid this. Admin users are _not_ prompted for anything
from the DVD, but it simply fails to work. Could the difference in the need
for compatibility mode have to do with the fact that Aero skins are off on
the machine that worked without changing the mode, rather than the fact it
was copied into the machine itself?
2) If we changed our method of accessing the Internet, would that change
what permissions and compatibility mode are used?
3) When we run the application exe on the machine, when we quit out the
Compatibility Assistant says "the application may not have installed
correctly" (both as an admin and a normal user). What is causing the system
to believe the application is an installer, and what could I do to avoid
confusing it?
4) Any other thoughts, resources, etc., on this subject would be
appreciated.

Thanks;

Amy
 
M

Michael Solomon

Amy Blankenship said:
Hi, all;

I am not sure if this is the correct Vista forum for these questions, so
if I need to ask somewhere else please let me know. I am creating
eLearning applications in a program called Macromedia Authorware. In
order to validate the users, we use the Xtras provided by Macromedia to
hit a web page on my client's server to confirm the user's identity and
mark him/her registered. These tools are very old and not great. For
instance, they can't pick up any proxy data. On the client, we install a
mdb file to the hard drive that both contains the course content and
tracks the user, which we use ODBC to communicate with.

Vista came out right before our first product release, and sort of took us
by surprise. So we did some quick emergency testing to discover that when
the exe runs from the CD as it is designed to run, even admin users have
to set the compatibility mode of the exe so that the login works (the
login requires both the hit to the internet and database communication.

The problem we have is that our users have a very low level of technical
competency, so they often are not able to follow the instructions for
making the compatibility mode change. Additionally, they expect us to
provide them with the password to make any needed elevation. They are
often not capable (or in some cases they are capable but unwilling) to
understand any explanations of why we can't provide them with the
password.

So, I am trying to figure out a way to remake the application before the
next release that will allow us to avoid having to prompt the user. But
to do that, I need more information about what features in an application
cause these prompts. I have looked in vain for information on this at
MSDN, but I have only found information on the Compatibility Assistant,
etc., and not what the assistant is actually looking for.

What I need to know is this:

1) If the application is installed vs. running from DVD, does that make
a difference? What constitutes "installed"? I have found that for admin
users, copying the whole DVD to the desktop does in fact avoid the
requirement for compatibility mode and run as administrator. Lower level
users are still prompted when the exe is run, but I'm not sure if a "real"
installation could avoid this. Admin users are _not_ prompted for
anything from the DVD, but it simply fails to work. Could the difference
in the need for compatibility mode have to do with the fact that Aero
skins are off on the machine that worked without changing the mode, rather
than the fact it was copied into the machine itself?
2) If we changed our method of accessing the Internet, would that
change what permissions and compatibility mode are used?
3) When we run the application exe on the machine, when we quit out the
Compatibility Assistant says "the application may not have installed
correctly" (both as an admin and a normal user). What is causing the
system to believe the application is an installer, and what could I do to
avoid confusing it?
4) Any other thoughts, resources, etc., on this subject would be
appreciated.

Thanks;

Amy
Amy, this is a peer to peer newsgroup for users. Developers and
development, application creation and creation issues help should be sought
in the MSDN newsgroups:
http://www.microsoft.com/communities/newsgroups/default.mspx
 
A

Andrew McLaren

Hi Amy

Are the Vista machine stand-alone, or part of a domain?

One possible route would be to turn off some or all of the UAC features in
Vista (since you cannot change the program code of your 3rd party tools, to
be Vista compatible).

If the machines are in a Domain, you can modify them all using domain Group
Policies.

If the macines are stand-alone, you would need to run the Local Security
Policy snap-in, on each machine.

For example, you would need to turn the "User Account Control: Only elevate
UIAccess applications that are installed in secure locations" policy OFF, to
run the apps from removable media like a CD-ROM without prompts.

There is some info about the policies, here:
http://technet2.microsoft.com/Windo...0e8b-43da-95ad-2280cb0a7ab01033.mspx?mfr=true

Obviously this method, will weaken the strong security which is one of
Vista's features! But you won't be less secure than you were on XP.

The other main strategy would be to try to create a compat shim for your
app, using the Application Compatibility Toolkit. I haven't tried this
myself, so I dunno how easy or hard it would be. There is some info on this,
here:
http://technet2.microsoft.com/Windo...2b2f-422c-b70e-b18ff918c2811033.mspx?mfr=true

You might want to also try asking in the
microsoft.public.deployment.app_compatibility newsgroup - the folks there
are full-time specialists in exacly this kind of problem.

Hope it helps
Andrew
 
A

Amy Blankenship

Andrew McLaren said:
Hi Amy

Are the Vista machine stand-alone, or part of a domain?

One possible route would be to turn off some or all of the UAC features in
Vista (since you cannot change the program code of your 3rd party tools,
to be Vista compatible).

If the machines are in a Domain, you can modify them all using domain
Group Policies.

If the macines are stand-alone, you would need to run the Local Security
Policy snap-in, on each machine.

For example, you would need to turn the "User Account Control: Only
elevate UIAccess applications that are installed in secure locations"
policy OFF, to run the apps from removable media like a CD-ROM without
prompts.

There is some info about the policies, here:
http://technet2.microsoft.com/Windo...0e8b-43da-95ad-2280cb0a7ab01033.mspx?mfr=true

Obviously this method, will weaken the strong security which is one of
Vista's features! But you won't be less secure than you were on XP.

Our users are not able to manage even changing the compatibility mode.
There is no way they would be able to turn off their UAC even assuming they
have the rights.
The other main strategy would be to try to create a compat shim for your
app, using the Application Compatibility Toolkit. I haven't tried this
myself, so I dunno how easy or hard it would be. There is some info on
this, here:
http://technet2.microsoft.com/Windo...2b2f-422c-b70e-b18ff918c2811033.mspx?mfr=true

I will check this out.
You might want to also try asking in the
microsoft.public.deployment.app_compatibility newsgroup - the folks there
are full-time specialists in exacly this kind of problem.

Cool. I would not have known to look there. Thanks!

-Amy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top