[wix-users] UAC Admin permisions
Kaveesh Dashora
kaveeshd at googlemail.com
Thu Mar 17 02:55:20 PDT 2016
Hi Ronnie,
Apologies for delay, I got busy in some pre-occupations.
Below is the code which will help you in creating a Self-Elevating MSI
Step 1 Create a custom action in your MSI project, Say -
[ElevateInstallerCA]
public static ActionResult ElevateInstaller(Session session)
{
WindowsPrincipal principal = new
WindowsPrincipal(WindowsIdentity.GetCurrent());
bool hasAdministrativeRight =
principal.IsInRole(WindowsBuiltInRole.Administrator);
if (!hasAdministrativeRight)
{
try
{
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.Verb = "runas";
processInfo.FileName = "msiexec";
processInfo.Arguments = "/i \"" +
session["OriginalDatabase"] + "\"";
using (Process wrapperProcess = Process.Start(processInfo))
{
wrapperProcess.WaitForExit();
}
session["ElevatedFromCA"] = "1";
return ActionResult.SkipRemainingActions;
}
catch
{
//Exit Gracefully, Probably the user canceled the UAC window
return ActionResult.UserExit;
}
}
else
{
return ActionResult.Success;
}
}
In your wix project where you have defined your custom actions define this
custom action:
<Binary Id="ElevateInstallerBin"
SourceFile="..\ElevateInstaller\bin\Release\ElevateInstallerCustomAction.CA.dll"
/>
<CustomAction Id="ElevateInstallerCA" BinaryKey="ElevateInstallerBin"
DllEntry="ElevateInstaller" Execute="immediate" Return="check" />
Change the InstallUISequence such that this custom action is run the first
when the MSI begins execution
<InstallUISequence>
<Custom Action="ElevateInstallerCA"
Before="FindRelatedProducts"></Custom>
</InstallUISequence>
Hope this helps,
Let me know if you have any questions on this.
Regards,
Kaveesh
On Fri, Mar 11, 2016 at 7:46 PM, John Cooper <JoCooper at jackhenry.com> wrote:
> For my MBA, I'm working on a Named Pipe-based server-client with the
> client elevated to run the IIS calls, serialize the data into JSON, and
> feed it back to the server on the MBA. Works pretty well, but even this
> approach requires at least temporary R/W rights on the three IIS config
> files or the API throws.
>
> --
> John Merryweather Cooper
> Senior Software Engineer | Integration Development Group | Enterprise
> Notification Service
> Jack Henry & Associates, Inc.® | Lenexa, KS 66214 | Ext: 431050 |
> JoCooper at jackhenry.com
>
>
>
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf
> Of Rob Mensching
> Sent: Thursday, March 10, 2016 5:48 PM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Subject: Re: [wix-users] UAC Admin permisions
> Importance: Low
>
> The e-mail below is from an external source. Please do not open
> attachments or click links from an unknown or suspicious origin.
>
> To be very clear, IIS really messed up here. They are the first Microsoft
> API I've hit where simple read requires elevation. I've threatened a couple
> different invasive solutions to the problem but never spent the cycles to
> implement any of them.
>
> tl;dr Interacting with IIS will have a subpar experience because to IIS
> made a poor design decision.
>
> _____________________________________________________________
> Short replies here. Complete answers over there:
> http://www.firegiant.com/
>
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf
> Of Ronny Eriksson
> Sent: Thursday, March 10, 2016 3:43 PM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Subject: Re: [wix-users] UAC Admin permisions
>
> Well to answer Kaveesh question, no i have not.
> But I would like to find a way to just find the Sites and AppPools in the
> IIS without having to use the ServerManager object since you need to be
> admin to do the connection.
> Unfortunaly, Phil, just retrieving data from that object requires Admin...
>
> So firstly I'm looking for another way to solve it.
> If not I might have to look in to doing something like u say.
>
> Ronny Eriksson
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>
> NOTICE: This electronic mail message and any files transmitted with it are
> intended
> exclusively for the individual or entity to which it is addressed. The
> message,
> together with any attachment, may contain confidential and/or privileged
> information.
> Any unauthorized review, use, printing, saving, copying, disclosure or
> distribution
> is strictly prohibited. If you have received this message in error, please
> immediately advise the sender by reply email and delete all copies.
>
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>
More information about the wix-users
mailing list