|
When a program running in administrator mode in windows 7, it can'nt communicate with normal mode application using automation or cominterop (crateobject()). Why?
|
|
|
|
|
solankinkdpr wrote: When a program running in administrator mode in windows 7, it can'nt communicate with normal mode application using automation or cominterop (crateobject()). Why?
Different users; running under complete different credentials with different access-rights.
Now, to get a decent answer, you'd also explain "how" you'd communicate. Did you try TCP/IP?
|
|
|
|
|
i'm using createobject() to communicate.
[CODE]
dim appref as object
appref=createobject("Photoshop.Application")
appref.documents.add(1)
[/CODE]
|
|
|
|
|
That's not exactly a communication-protocol, but a way to instantiate a COM-control. This means that you cannot accomplish something similar by using another way to 'communicate'.
If your app requires Photoshop, and Photoshop needs run as an admin, then your app should launch using the same credentials. (Put in a message that it needs be run as admin)
|
|
|
|
|
is there any way or work around that my app works in administrator mode and instantiate and call lower credential application functions.
as my application is running in administrator mode and photoshop is running in normal mode and still i can create successful COM connection.
|
|
|
|
|
Not possible, for the reasons already mentioned.
Keep in mind that Windows does not know whether it's 'lower' or 'higher' credentials; it only knows that they differ.
|
|
|
|
|
This is by design, for security reasons. They won't work because you'll be giving the "Normal" process access to code running under an account that has elevated permissions. If there was some exploit in the elevated code, it could then be taken advantage of and potentially harmfully to the system, i.e.: virus.
|
|
|
|