How to recover from accidently enabling System Center Configuration Manager App-V integration
Hi everyone, Alvin Morales here. When System Center Configuration Manager 2007/Application Virtualization (App-V) integration is enabled, System Center Configuration Manager takes over for the App-V client and runs an SFTMIME “delete” operation for all applications that are not managed by System Center Configuration Manager. It is not uncommon for System Center Configuration Manager administrators to enable this feature not knowing the consequences and causing downtime in their environments.
The immediate symptom in the end user’s view is that applications are not available although this removal behavior is by design if the integration is enabled. To verify that System Center Configuration Manager took over management of the clients you can choose one of the following methods:
1. Verify the DDELaunchCommand and LaunchCommand for the path used, these are located in HKLM\SOFTWARE\Microsoft\SoftGrid\4.5\Client\UserInterface for x86 or KLM\SOFTWARE\Wow6432Node\Microsoft\SoftGrid\4.5\Client\UserInterface for x64. If the client is taken over by SCCM it should list c:\windows\system32\CCM\VappLauncher.exe for x86 or c:\Windows\CCM\Vapplauncher.exe for x64
2. Verify the System Center Configuration Manager client logs specifically virtualapp.log and vapplauncher.log. These are located in c:\windows\system32\ccm\logs for x86 or c:\windows\ccm\logs for x64. The virtualapp.log will show the sftmime commands performed to remove packages.
3. Verify the shortcut properties of virtual applications, instead of sfttray.exe you will see vapplauncher.exe as the executable launching the virtual application.
If you didn’t intend to use the System Center Configuration Manager/App-V integration and you want to quickly recover from this you can leverage one of the following methods.
Method 1: Reinstall APPV client and Configure APPV client:
1. Disable the integration by going into the System Center Configuration Manager console and drill down to the following:
Site Database\Site Management\Site\Site Settings\Client Agents\Advertised Programs Client Agent Properties
Uncheck "Allow virtual application package advertisement"
2. Reinstall the APPV client and configure it to refresh against an APPV server. This can be done using advertisements and changing the commands in the package. You can use the following link to guide you through the install options: https://technet.microsoft.com/en-us/library/ee956917.aspx
Method 2: Replacing the Userinteface keys and restoring the APPV Server configuration in the client (No APPV client reinstall required):
1. Disable the integration by going into the System Center Configuration Manager console and drill down to the following
Site Database\Site Management\Site\Site Settings\Client Agents\Advertised Programs Client Agent Properties
Uncheck "Allow virtual application package advertisement"
2. Replace the DDELaunchCommand and LaunchCommand in HKLM\SOFTWARE\Microsoft\SoftGrid\4.5\Client\UserInterface with the default values that are set when you install the APPV client for the first time. You can also export these keys from a working or newly installed client.
DDELaunchCommand default value:
- For x86: "C:\Program Files\Microsoft Application Virtualization Client\sftdde.exe" "<APP>" <DDE>
- For x64: "C:\Program Files (x86)\Microsoft Application Virtualization Client\sftdde.exe" "<APP>" <DDE>
LaunchCommand default value:
- For x86: "C:\Program Files\Microsoft Application Virtualization Client\sfttray.exe" /launch "<APP>"
- For x64: "C:\Program Files (x86)\Microsoft Application Virtualization Client\sfttray.exe" /launch "<APP>"
3. Create a script to run the following commands. For this illustration we are using a batch file:
sftmime add server:server-name /host server-name /type RTSP /port 554 /refresh on
If you want more information about this command use the following link: https://technet.microsoft.com/en-us/library/cc817090.aspx
sfttray /refreshall
For more information about this command use the following link: https://technet.microsoft.com/en-us/library/dd835527.aspx
The batch file for x86 system should contain the below lines, remember to replace SERVER-NAME with the name of your APPV server:
==========================
reg add HKLM\Software\Microsoft\Softgrid\4.5\Client\UserInterface /v DDELaunchCommand /t REG_SZ /d """"C:\Program Files\Microsoft Application Virtualization Client\sftdde.exe""" """^<APP^>""" <DDE>" /f
reg add HKLM\Software\Microsoft\Softgrid\4.5\Client\UserInterface /v LaunchCommand /t REG_SZ /d """"C:\Program Files\Microsoft Application Virtualization Client\sfttray.exe""" /launch """^<APP^>"""" /f
sftmime add server:SERVER-NAME /host SERVER-NAME /type RTSP /port 554 /refresh on
sfttray /refreshall
===========================
The batch file for x64 system should contain the below lines, remember to replace SERVER-NAME with the name of your APPV server:
===========================
reg add HKLM\Software\Wow6432Node\Microsoft\Softgrid\4.5\Client\UserInterface /v DDELaunchCommand /t REG_SZ /d """"C:\Program Files (x86)\Microsoft Application Virtualization Client\sftdde.exe""" """^<APP^>""" <DDE>" /f
reg add HKLM\Software\Wow6432Node\Microsoft\Softgrid\4.5\Client\UserInterface /v LaunchCommand /t REG_SZ /d """"C:\Program Files (x86)\Microsoft Application Virtualization Client\sfttray.exe""" /launch """^<APP^>"""" /f
sftmime add server:SERVER-NAME /host SERVER-NAME /type RTSP /port 554 /refresh on
sfttray /refreshall
==========================
This script can be executed through System Center Configuration Manager by means of creating a package and advertisement. You can also use a logon script but the user must be and administrator in the box for changes to take effect or launch in an elevated command prompt.
Alvin Morales | Senior Support Escalation Engineer
App-V Team blog: https://blogs.technet.com/appv/
AVIcode Team blog: https://blogs.technet.com/b/avicode
ConfigMgr Support Team blog: https://blogs.technet.com/configurationmgr/
DPM Team blog: https://blogs.technet.com/dpm/
MED-V Team blog: https://blogs.technet.com/medv/
OOB Support Team blog: https://blogs.technet.com/oob/
Opalis Team blog: https://blogs.technet.com/opalis
Orchestrator Support Team blog: https://blogs.technet.com/b/orchestrator/
OpsMgr Support Team blog: https://blogs.technet.com/operationsmgr/
SCMDM Support Team blog: https://blogs.technet.com/mdm/
SCVMM Team blog: https://blogs.technet.com/scvmm
Server App-V Team blog: https://blogs.technet.com/b/serverappv
Service Manager Team blog: https://blogs.technet.com/b/servicemanager
System Center Essentials Team blog: https://blogs.technet.com/b/systemcenteressentials
WSUS Support Team blog: https://blogs.technet.com/sus/