New KB: Guide to sequencing .NET 4.0 with App-V 4.6 SP1

KBJust a quick heads up on a new Microsoft Application Virtualization Knowledge Base article we published this morning. This one is a guide that walks you through sequencing .NET 4.0 with App-V 4.6 SP1:

Summary

The steps in this document describe one method that you can use to successfully sequence .NET 4.0 for use with Microsoft Application Virtualization (App-V). The method that is described in this article is not the only method that is available. You may have to change the information in the article as appropriate for your particular environment.

More Information

1. Set up a clean virtual machine. Install the sequencer but do not launch it yet. Note that this virtual machine should only have the .NET version that came it originally came with the operating system.

2. Before sequencing, please satisfy the following prerequisites:

a. If you are using Windows 7 & Windows 2008 R2, add an exception to the sequencer by modifying the registry . Navigate to the following Registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Sequencer

Add the following value:

Value name: DllDependencies
Value Type: String
Value Data: mscoree.dll

b. Install following updates:

3. Download the .NET 4.0 installer locally from the following location:

https://www.microsoft.com/downloads/details.aspx?FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7&displaylang=en

4. Launch the sequencer. Make sure this was not launched as part of the SEQ install option.

5. On the home window, select “Create a New Virtual Application Package” and click “Next >”.

6. On the “Packaging Method” window, select “Create Default (default)” and click “Next >”.

7. On the “Prepare Computer” window, resolve all the listed potential issues and click “Next >”.

8. On the “Type of Application” window, select “Middleware” and click “Next >”.

9. On the “Select Installer” window, browse to the .NET installer location and click “Next >”.

10. On the “Package Name” window, provide the package name and click “Next >”.

11. The .NET 4.0 installer will be launched. Provide the appropriate actions to allow it to install and wait until it finishes.

12. On the “Installation” window, check “I am finished installing” and click “Next >”.

13. On the “Installation Report” window, review the installation report and click “Next >”.

14. On the “Target OS” window, select the platforms that you want to deploy the package to and click “Next >”.

15. On the “Create Package” window, select “Continue to modify package without saving…” and click “Next >”.

16. On the “Create Package” window, click “Close”.

17. Select the “Virtual Services” tab.

18. Right click on “Microsoft .NET Framework NGEN …” and click “Properties…”.

19. Set the “Startup type” to “Disable”, click “Apply” and “OK”.

20. Click on File -> Save As… from the menu.

21. Browse to the location where you the package to be saved and click “Save”.

Notes:

1. When deploying a .NET Visual C++ and Visual F# application, even natively, the program requires the machine to have the redistributable libraries. As such, if those types of applications are going to be deployed, make sure to also sequence the redistributable libraries.

2. Please note that as a best practice, always sequence on a machine that matches the environment of the client machine that is going to deploy the virtual applications. Different versions of .NET come with different versions of Windows. The sequencer only captures new .NET versions that are installed. By sequencing .NET and deploying it on a different platform, it is possible that package will miss certain .NET versions and files.

Known Issues:

1. In order to launch applications that targeted previous versions of .NET, a configuration file must be added for the EXE. To do this, create an Application_Name.Exe.Config with the following:

<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>

See https://msdn.microsoft.com/en-us/library/1fk1t1t0.aspx for more details.

2. If you plan to deploy a sequenced .NET program that utilizes the data access technologies (ex: ADO.NET or LINQ), please do the following:

a. After Step 20 and before Step 21, select the “Virtual File System” tab.

b. Right click on “Virtual File System Root\CSIDL_WINDOWS\Microsoft.NET\assembly\ GAC_32\System.EnterpriseServices\ v4.0_4.0.0.0__b03f5f7f11d50a3a” folder and select “Add”.

- Include C:\Windows\Microsoft.NET\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll

- Include C:\Windows\Microsoft.NET\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll

If you are sequencing on an AMD64 (x64) 64-bit machine then also right click on “Virtual File System Root\CSIDL_WINDOWS\Microsoft.NET\assembly\ GAC_64\System.EnterpriseServices\ v4.0_4.0.0.0__b03f5f7f11d50a3a” folder and select “Add”.

a. Include C:\Windows\Microsoft.NET\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll

b. Include C:\Windows\Microsoft.NET\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll

=====

The information above was published today in the following Microsoft Knowledge Base article written by SDET Jason Hu:

KB2519958 - Guide to sequencing .NET 4.0 with App-V 4.6 SP1

J.C. Hornbeck | System Center Knowledge Engineer

The App-V Team blog: https://blogs.technet.com/appv/
The WSUS Support Team blog: https://blogs.technet.com/sus/
The SCMDM Support Team blog: https://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: https://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: https://blogs.technet.com/operationsmgr/
The SCVMM Team blog: https://blogs.technet.com/scvmm/
The MED-V Team blog: https://blogs.technet.com/medv/
The DPM Team blog: https://blogs.technet.com/dpm/
The OOB Support Team blog: https://blogs.technet.com/oob/
The Opalis Team blog: https://blogs.technet.com/opalis
The Service Manager Team blog: http: https://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: https://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: https://blogs.technet.com/b/systemcenteressentials

clip_image001 clip_image002