locked
Excluding a child process from being virtualised RRS feed

  • Question

  • I have a problem whereby if an App-V 5.1 application, such as IE, launches Word, where Word is not an App-V app as it is natively installed, and you try and share the document via email then you get an error that the file cannot be found. This only happens if Outlook is already running when you try and share the document. 

    Running through with procmon, you can see a new Outlook being launched, as a child of Word, which presumably is in the App-V bubble, and I guess that this is trying to communicate with the non App-V Outlook and is failing because the newly launched Outlook process is isolated to some degree.

    So is there a mechanism to exclude/blacklist executables from App-V so I could tell it not to virtualise winword.exe and outlook.exe? I pored over a procmon trace of the AppVClient service starting and Winword launching but couldn't see any likely exclusion type settings being probed for.

    I tried putting a deliberately bad value into the default value of a RunVirtual registry key for winword.exe and outlook.exe but this was ignored and the processes were still virtualised.

    Any ideas please? Ideally a generic mechanism rather than one specific to the outlook sendmail issue since there may be other scenarios where child processes need to be excluded from App-V.

    Friday, April 7, 2017 7:30 AM

All replies

  • Hi Guy,

    I'm trying to understand your problem.

    0) You already have Outlook open.
    1) I open virtualized IE.  IE links to a file which opens Word (which is installed locally)
    2) You try and use Word to 'share via email' the document.
    3) This breaks because it launches Outlook, which checks to see if Outlook is running and passes the launch to the running session, which exists outside of the virtual environment, and so it doesn't see the document Word has created (and presumably stored in your VFS\Temp or some such)?

    Oddly enough, I just encountered a very similar problem with Adobe Reader where a virtualized program attempts to open Reader documents through COMObject calls.  If you had Adobe Reader open before the virtualized program then the COMObject would pass the 'native' path, as AppV doesn't seem to capture and rename path's in COMObject calls to their virtualized path.  This would cause an error message (File not found).

    My recommended solution was to create a symlink to where the file was saved to point back to the virtualized path where the file actually existed.  I don't think this would work in your situation, but the problem sounds the same...

    I'm not sure if excluding a process from AppV is necessarily the answer for your problem though.  If you could exclude Word then would Word even get the document from virtualized IE?

    I'm not sure what your virtualized IE package looks like, but maybe it's possible to exclude all or as much as the VFS as possible (when you created the package do you have a TEMP folder in there?).  The thought I have is your document in IE maybe getting captured by the VFS and if you can exclude the path where the document is being saved, will it save it to the native file system?

    Friday, April 7, 2017 3:48 PM
  • Hi Trentent,

    Thanks for taking the time to answer. I haven't figured yet where the Word doc gets saved by IE, although I think it's probably in temporary internet files, so I haven't checked whether that's virtualised as we're running locally installed IE but with the /appvve switch to get it running inside the Java 1.6 App-V bubble.

    I can reproduce the issue easily by starting a PowerShell prompt in the Java bubble via Start-AppvVirtualProcess, run Word from within there, open a document and if I then try and share by email it errors if Outlook, locally installed, is already running.

    Because of this, I've come up with my own exclusion mechanism, which can exclude a child process from being App-V'd by name, e.g. outlook.exe, winword.exe, etc. , but before releasing to the world I wanted to check that I hadn't invented something that was already possible.

    Monday, April 10, 2017 9:22 PM
  • Hi, did you ever get this working and if so would you be able to share your solution?

    I am having an issues with an app that uses SQL Server LocalDB, and sqlsrv.exe does not like being run inside the VE even if that component is installed locally!


    packageology.com

    Friday, January 10, 2020 2:22 PM