Page 1 of 1

Vista 'User Account Control' (UAC) Elevation check-box

Posted: Tue May 19, 2009 4:45 pm
by Steve
Hello,
I just upgraded to Studio Admin 9 and I am hoping that someone can explain the seemingly odd logic behind the option for the ' Vista User Account Control Elevation' check-box.
The IA help file has this to say about the UAC option:
To check whether setup has full administrator rights on a Vista or newer operating system with UAC enabled, check the Vista User Account Control Elevation check-box. Otherwise, leave this box unchecked. Checking this box on older operating systems will cause setup to fail, even if setup does have full administrator rights. Checking this box on Vista or newer operating systems when UAC is disabled will require ordinary administrator rights for the check to succeed.

My concern and confusion is with regard to the statement:
"Checking this box on older operating systems will cause setup to fail, even if setup does have full administrator rights."

If I understand what the help file is saying, all InstallAware setups will fail if this checkbox is enabled while you are running any OS other than Vista.
Is this really the case and if so, why? Why does InstallAware not have the intelligence built-in, to simply perfrom a check in order to determine if the OS is Vista and if so, only then execute the Account Elevation?

This stated behaviour seems so counter-intuitive, that I can't help but wonder if the help file is wrong or missing some additional information.

Thanks for your help,
Steve

Posted: Wed May 20, 2009 5:38 am
by MichaelNesmith
It would be nice to have an example project that illustrates hybrid installations, I'll add this to our wish list.

However, what I'm trying to get you to do is overcome your MSIcode editing averseness.
Give a man a fish, he eats for one day; teach him how to fish, he eats for life.
So I will encourage you once again to dive into MSIcode and the obviousness will dawn upon you and you will smile.

Posted: Wed May 20, 2009 12:57 pm
by Steve
Hello Michael,
thanks again for your reply.

Your quote use is very interesting and I totally agree with the premise.
Give a man a fish, he eats for one day; teach him how to fish, he eats for life.
I would love to be able to confidently change MSI code to suit my requirements, but I think that you have missed a very significant point...
I am not a programmer by trade, and I have many other important tasks outside of InstallAware that I must accomplish on a daily basis. To the end user InstallAware is purchased as a productivity and efficiency tool. When it ceases to be that, deep frustration sets in. Believe me when I say that I have spend many, many hours pouring over InstallAware after the work day has long ended in order to learn as much as I can. Obviously I would like to have the knowledge to be able to make such code modifications, but for the long term success of InstallAware we users need some guidance and assistance in order to foster that knowledge. Please help us!

The 'teach a man to fish' saying makes the self evident and basic assumption that the teacher is willing to provide a solid foundation of knowledge upon which the student can grow.
To use your 'teach a man to fish' saying to further illustrate this point, what you have provided informationally thus far is akin to saying to someone who has never seen a fishing rod and has no concept of fishing whatsoever, "you just need a pole to catch the fish" without telling them what the fishing pole looks like or that you need a line, a hook, bait, a knowledge of where to fish, etc, etc.

I fully understand that this stuff is super obvious to you, but remember the old "can't see the forest for the trees" saying... Michael you work with InstallAware day in and day out and know the innermost workings of the application. Most of us don't, so typically we will never reach your level of expertise and proficiency. Please believe me when I say that I don't want to have to ask you for this information... I would love to have the knowledge to do I all myself.
So let's make a deal... give me the foundation and once I have the knowledge I promise to pass it on to others so that you don't have to!

Provide the foundation... provide the basics, and the student will become the teacher!

So please teach me oh Master!

:D

Thanks again,
Steve

Re: Vista 'User Account Control' (UAC) Elevation check-box

Posted: Mon Oct 25, 2010 8:45 pm
by chamsoft
Hey Steve, did you ever work out how to do this IF statement? I've been searching for ages and have found many people asking exactly the same question but no one seems to want to post the single line of code.

Re: Vista 'User Account Control' (UAC) Elevation check-box

Posted: Tue Oct 26, 2010 4:18 pm
by Steve
Hi Chamsoft,
Unfortunately Michael Nesmith of InstallAware never bothered to respond with any help despite additional Private Messages to him. Happily he is no longer with InstallAware, which I believe is a good thing all around. That's more than enough said about that I guess.
I simply gave up on the problem, knowing that eventually as the 64bit platform became more common I would eventually have to look at finding a solution once again. Fortuitously enough, it seems that time has come, so I will be working on a combined 32/64bit install this week and next and will let you know the solution as soon as I figure it out myself. I hope to be able to get back to you within the week with a solution...

Best regards,
Steve

Re: Vista 'User Account Control' (UAC) Elevation check-box

Posted: Tue Oct 26, 2010 8:49 pm
by mills
This will do the trick:

Code: Select all

[DEFINE REGION: Check Application Requirements]

Get System Setting Windows Vista into isVista
if Variable isVista Equals TRUE

  Get System Setting Vista UAC Elevation into CHECKSYSTEM
  if Variable CHECKSYSTEM not Equals TRUE
    MessageBox: $TITLE$ Setup Error, This product requires at least User Account Control Elevation.$NEWLINE$$NEWLINE$Setup cannot continue.
    Terminate Installation
  end

end

[END REGION]
Edit: I've deleted most of this thread, as it contained no particularly useful information. I've left a couple of tidbits, because Steve, it's too good of a read!

Re: Vista 'User Account Control' (UAC) Elevation check-box

Posted: Wed Oct 27, 2010 3:49 am
by chamsoft
Steve, thanks for posting a response. I concur totally with your comments re Michael, I'm still trying to get my head around why anyone would put so much effort into avoiding answering your question, when the answer would have involved so much less effort. But there you go.

Andy, thanks for your response, I appreciate the time taken to finally provide this answer. Just one question, the line: "Get System Setting Windows Vista into isVista". Will this return TRUE on Windows 7? I have been looking for documentation on how each of the these checks work and can't find that level of detail anywhere. The only alternative is to write test scripts and run it on various operating systems which is very time consuming.

Thanks again to you both.

Re: Vista 'User Account Control' (UAC) Elevation check-box

Posted: Wed Oct 27, 2010 3:38 pm
by mills
Yes, at the time it will return TRUE for any OS from Vista and newer (Vista, 7, 2008).