![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
![]() |
| |
| | #1 (permalink) |
| Guest | How to elevate integrity level of a process Hi, I have written an application (win32 exe) that calls GetActiveObject() to get an object of Microsoft Excel. I use a batch file to launch this exe. This worked fine on XP, but the call returns a failure when used on Windows Vista. I found some answers for the same that suggest to elevate the process integrity level. So I have the following questions: -- How to elevate a processs integrity level? (where can i find the relevent information?) -- Will I have to change my application code to achieve this? -- Can a not simply make changes to the batch file, that calls the exe, to elevate the process integrity level? (I hope this is the right forum to ask this question. It will be really helpful if anyone can point me in the right direction.) Thanks, Darshan |
My System Specs![]() |
| | #2 (permalink) |
| Resistance is Futile | Re: How to elevate integrity level of a process Hi, I have written an application (win32 exe) that calls GetActiveObject() to get an object of Microsoft Excel. I use a batch file to launch this exe. This worked fine on XP, but the call returns a failure when used on Windows Vista. I found some answers for the same that suggest to elevate the process integrity level. So I have the following questions: -- How to elevate a processs integrity level? (where can i find the relevent information?) -- Will I have to change my application code to achieve this? -- Can a not simply make changes to the batch file, that calls the exe, to elevate the process integrity level? (I hope this is the right forum to ask this question. It will be really helpful if anyone can point me in the right direction.) Thanks, Darshan |
My System Specs![]() |
| | #3 (permalink) |
| Guest | Re: How to elevate integrity level of a process "Darshan Tilak" <darshan_tilak@xxxxxx> wrote in message news:e8JiZkaMIHA.5300@xxxxxx Quote: > Hi, > > I have written an application (win32 exe) that calls GetActiveObject() to > get an object of Microsoft Excel. I use a batch file to launch this exe. > This worked fine on XP, but the call returns a failure when used on > Windows Vista. I found some answers for the same that suggest to elevate > the process integrity level. > > So I have the following questions: > -- How to elevate a processs integrity level? (where can i find the > relevent information?) > -- Will I have to change my application code to achieve this? > -- Can a not simply make changes to the batch file, that calls the exe, to > elevate the process integrity level? > > > (I hope this is the right forum to ask this question. It will be really > helpful if anyone can point me in the right direction.) I'm not sure that integrity levels are your problem though unless you are running the batch file as another user or you are running it as a scheduled task. http://blogs.msdn.com/michael_howard...ows-vista.aspx The above book is pretty good at explaining the basics, but there are many details left out... -Pete |
My System Specs![]() |
| | #4 (permalink) |
| Guest | Re: How to elevate integrity level of a process Darshan Tilak wrote: Quote: > Hi, > > I have written an application (win32 exe) that calls > GetActiveObject() to get an object of Microsoft Excel. I use a batch > file to launch this exe. This worked fine on XP, but the call > returns a failure when used on Windows Vista. I found some answers > for the same that suggest to elevate the process integrity level. > > So I have the following questions: > -- How to elevate a processs integrity level? (where can i find the > relevent information?) -- Will I have to change my application code > to achieve this? -- Can a not simply make changes to the batch file, > that calls the exe, to elevate the process integrity level? > > > (I hope this is the right forum to ask this question. It will be > really helpful if anyone can point me in the right direction.) > > Thanks, > Darshan I just got Vista by virtue of a new machine and was playing around with UAC. Unfortunately, the runas command provided does not elevate rights as does the Run as Administrator on the contecxt menu. Anyway, I have compiled up shellas.exe which just calls ShellExecute API with the runas verb as one of the parameters - this isn't different than in XP. So, now I can type shellas somecommand in the Run dialog and not have to find the exe and right click on it... The command will run with elevated rights as the user you select in the dialog. I have gone a step further. In XP, I run as a limited user, but once I log in, I become an administrator, so that I can optionally run processes that need admin rights as myself and not another user (e.g. installs). Upon, logoff I am depricated to a limited user again for the next time. I have now dome something similar in Vista, but it works subtley different and isn't really as necessary any more, but works to keep myself a limited user until I logon. Toad -- |
My System Specs![]() |
| | #5 (permalink) |
| Guest | Re: How to elevate integrity level of a process Thanks. That link did put some light on why the GetActiveObject method was failing. But i need to find a method to make my application work without modifying the code. This is important because the application was initially developed targeting the earlier windows versions (2000/2003/XP). And it also works fine on vista, but only with UAC turned off. """What i want is to make it run on vista, with UAC turned on.""" My application is an exe (myapp.exe) that uses a COM dll (from where i call GetActiveObject()). The whole thing is packaged in an installer (setup.exe) using Install Sheild 11.5 (this does not claim to have any support for vista). The myapp.exe is run from a batch file, which executes right after the installation procedure and at machine startup. (I do not want a pop-up everytime myapp.exe runs. It is supposed to run in the background.) Would embedding a manifest (as explained below) solve my problem? Is there any other way to make my setup.exe (or its indivudial components) compatible to vista, with UAC turned on? I tried embedding a manifest in myapp.exe using the command "mt.exe /manifest myapp.exe.manifest -outputresource:myapp.exe;1". But it is still failing i.e. GetActiveObject() still returns a failure. And I also get a "consent prompt" when I run myapp.exe. My login belongs to the administrators group on my vista machine. Following is the manifest file that I used to embed: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="myapp" type="win32"/> <description>application description</description> <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2"> <ms_asmv2:security> <ms_asmv2:requestedPrivileges> <ms_asmv2:requestedExecutionLevel level="requireAdministrator"> </ms_asmv2:requestedExecutionLevel> </ms_asmv2:requestedPrivileges> </ms_asmv2:security> </ms_asmv2:trustInfo> </assembly> Any suggestions/pointers are welcome. Thanks, - Darshan "Pete Delgado" <Peter.Delgado@xxxxxx> wrote in message news:u%23KqJmgMIHA.5208@xxxxxx Quote: > > "Darshan Tilak" <darshan_tilak@xxxxxx> wrote in message > news:e8JiZkaMIHA.5300@xxxxxx Quote: >> Hi, >> >> I have written an application (win32 exe) that calls GetActiveObject() to >> get an object of Microsoft Excel. I use a batch file to launch this exe. >> This worked fine on XP, but the call returns a failure when used on >> Windows Vista. I found some answers for the same that suggest to elevate >> the process integrity level. >> >> So I have the following questions: >> -- How to elevate a processs integrity level? (where can i find the >> relevent information?) >> -- Will I have to change my application code to achieve this? >> -- Can a not simply make changes to the batch file, that calls the exe, >> to elevate the process integrity level? >> >> >> (I hope this is the right forum to ask this question. It will be really >> helpful if anyone can point me in the right direction.) > http://msdn2.microsoft.com/en-us/library/bb625964.aspx > > I'm not sure that integrity levels are your problem though unless you are > running the batch file as another user or you are running it as a > scheduled task. > > http://blogs.msdn.com/michael_howard...ows-vista.aspx > > The above book is pretty good at explaining the basics, but there are many > details left out... > > -Pete > > > > > |
My System Specs![]() |
![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
| User Account Control (UAC) - Elevate Privilege Level | Tutorials | |||
| Code integrity error on tcpip.sys | Vista security | |||
| Code Integrity Errors | System Security | |||
| Launching medium integrity process from activex in IE protected mode | Vista security | |||
| UAC can not elevate | Vista account administration | |||