VMware

Step by Step Instructions on How to ThinApp Microsoft .NET Framework | Main | Compress only a part of the project.

November 02, 2008

Step by Step on How to Create a ThinApp Package of the VI 2.5 Client

These are instructions on how to package the VMware Virtual Infrastructure 2.5 client as a ThinApp package. This is purely for testing and experimental purposes and should not be utilized within a production environment and is not supported by VMware ESX or ThinApp Support Teams.

Requirements

The following items and knowledge are required for use of this procedure:

  • Familiarization with instructions on how to virtualize a software product via ThinApp (see, "How to Make a ThinApp Application" on http://blogs.vmware.com/thinapp).

NOTE!

These instructions are ONLY for the Virtual Infrastructure 2.5 Client and will not work on the 2.0.x client!!

Installing the VI Client will require Microsoft .NET Framework (version dependent)! If the appropriate version of Microsoft .NET Framework is not installed, then the VI Client installation will install it. This means you need to determine if you wish to package the VI Client with Microsoft .NET Framework (version dependent) or without the

Depending upon your version of the VI Client, different versions of the Microsoft .NET Framework are utilized. You may wish to utilize the ThinApp AppLink features and, subsequently, pre-install the Microsoft .NET Framework appropriate to your VI Client prior to capturing the installation of the VI Client in order to keep the size of the package down.

Warning!

Building a ThinApp package in no way modifies the licensing of the software product you are attempting to virtualize with ThinApp! Ensure you are compliance with product licenses for ANY software package you wish to virtualize and deploy using ThinApp. Consult your software product's End User License Agreement (EULA) for reference and questions.

Unsupported!!

This procedure is experimental and not officially supported by VMware with regards to the ESX and ThinApp products! Information in this document is provided "as is" and without warranties or guarantees. It is highly recommended that testing of this procedure be done within a "non-production" test environment.

Instructions on How to ThinApp the VI Client

These are the basic instruction you will need on How to ThinApp the VI Client

  1. Start with a cleanly built Windows XP VM.
    NOTE: Use the "How to make a ThinApp Application" as a reference.
  2. Copy the VI Client MSI file to the VM for installation.
    NOTE: It will not run from a UNC share.
  3. Run a ThinApp Pre-installation Setup Capture.

  4. Close the ThinApp Pre-installation Setup Capture using the red "X" in the upper-right corner.
  5. Select the appropriate language if asked.
  6. Click NEXT on the VI Client Welcome Screen.

  7. Check the I ACCEPT… radio button and click NEXT on the EULA.

  8. Click NEXT on the Customer Info screen.

  9. Do NOT select the option to install the VMware Infrastructure Update Service. Click NEXT.

  10. Ensure the path is where you want it and click NEXT to continue.

  11. Click INSTALL on the "Ready to Install the Program" window.

  12. If you are notified the appropriate version of Microsoft .NET Framework is not installed and will, therefore, be installed, then click OK. Please note this for further reference as it will affect what your package looks like and how it may operate.
  13. If you are notified that you should update your version of Microsoft .NET Framework to Service Pack 1, then note this and click OK.

    NOTE: This window denotes Microsoft .NET Framework version 1.1 as the VI Client being shown here is version 2.0.0.2 Build 3. Please note your version of Microsoft .NET Framework for future reference in this article.
  14. You will now see the installation progress bar.

  15. Once you've reached the Installation Complete screen, click FINISH.

  16. At this point you have some options. You can run the Setup Capture to do a post installation capture and finish the build of your project or you can install the appropriate version of Microsoft .NET framework and capture that along with the rest of your VI Client.

    NOTE: If you chose NOT to capture the latest Microsoft .NET Framework with your VI Client package, you can use AppLink to link your VI Client to a Microsoft .NET Framework capture.

    For the purposes of this article, we are going to use AppLink to bring in the appropriate version of Microsoft .NET Framework. This assumes you already have a Microsoft .NET Framework ThinApp package available to use for AppLink with this VI Client!

    If Internet Explorer pops up with the latest download for the Microsoft .NET Framework and AppLink is going to be used, then close the Internet Explorer window.

  17. Open the VI Client to ensure it works properly.

    NOTE 1: Your connections will be remembered so you may have to clean this out of the package prior to building. See further on in this article for that information.

    NOTE 2: You may need to change your ThinApp VM NIC settings to bridged in order to connect to your VMware server. Don't forget to change back before continuing.

  18. Once you've tested the VI Client, close it.
  19. Re-run the ThinApp Setup Capture and ensure the CONTINUE INSTALLATION PROCESS radio button is selected and click NEXT to continue.

  20. Click NEXT on the Install and Configure screen.

  21. After the post-installation setup capture is complete, select the desired entry points and set the desired Inventory Name. Click NEXT when ready.

    NOTE: Due to the various versions of the VI Client available for use, it is highly recommended to place the specific version and build information into the Inventory Name.

  22. Set the Active Directory Users Groups if desired and change the sandbox if desired. Click NEXT when ready.

  23. Select MERGED as the default isolation. Click NEXT when ready.

  24. Set your Project Location, MSI generation and Compression level to their desired settings. Click NEXT when ready.

    NOTE: It is recommended to NOT generate an MSI or use compression until all configurations have been applied successfully and all bugs have been worked out.

  25. Once the project has been built, click NEXT/FINISH. Note any errors you receive.

  26. Create a backup of your project folder prior to making the following modifications. This is to ensure you have a point of reference to return to if something should go drastically wrong.
  27. Open the project folder and make the following modifications:
    1. Create a %Temp% folder and copy in the ##Attributes.INI file from the %SystemRoot% folder.

      NOTE: Open the ##Attributes.INI file within the %Temp% folder to ensure the Isolation Mode is set to WriteCopy.
    2. Delete the following folders and their contents from your package if they exist as they are not needed:

      NOTE: When listing a path, just delete the child folder shown – not the parent!
      1. %AppData%\VMware
      2. %AppData%\Microsoft
      3. %Common AdminTools%
      4. %Cookies%
      5. %History%
      6. %Internet Cache%
      7. %ProgramFilesDir%\Internet Explorer
    3. Delete the following files and folders (including the folder contents) from your package if they exist as they are not needed when using the ThinApp AppLink settings to link the appropriate version of Microsoft .NET Framework. 

      FOLDERS: 

      1. %SystemRoot%\assembly
      2. %SystemRoot%\Debug
      3. %SystemRoot%\Microsoft.NET
      4. %SystemRoot%\Registration
      5. %SystemSystem%\MsDtc
      6. %SystemSystem%\mui
      7. %SystemSystem%\URTTemp 

      FILES:

      1. %SystemSystem%\MSCOREE.DLL 
      2. %SystemSystem%\MSCORIER.DLL 
      3. %SystemSystem%\MSCORIES.DLL 
      4. %SystemSystem%\NETFXPERF.DLL 
      5. %SystemSystem%\PERFC009.DAT 
      6. %SystemSystem%\PERFH009.DAT 
      7. %SystemSystem%\PERFSTRINGBACKUP.INI
    4. Open the HKEY_CURRENT_USERS.TXT file and look for the following entry. Remove the Value=RecentConnections line and REG_SZ line which contains your IP address. This will ensure your package does not contain your test case history.

      isolation_full HKEY_CURRENT_USER\Software\VMware\Virtual Infrastructure Client\Preferences

      Value=LOG_FILE_INDEX
      REG_SZ~1#2300
      Value=RecentConnections
      REG_SZ~<YOUR SERVER IP WILL BE HERE!>#2300

    5. Open your PACKAGE.INI and modify the AppLink parameters to include the Microsoft .NET Framework version desired ("How to" instructions for creating a Microsoft .NET Framework ThinApp package can be found on http://blogs.vmware.com/thinapp).

      NOTE: Ensure you have a "plugins" folder created in the desired location with the listed file present. The below example will optionally use the DOTNET.DAT plugin located in a subfolder to the folder where the EXE resides called "Plugins".

      OptionalAppLinks=plugins\DOTNET.DAT 

      NOTE: This is an example of what the plugins folder subject to the EXE.

    6. Remove any unnecessary Entry Points from the PACKAGE.INI such as the Microsoft .NET Framework entry points and save.
  28. Build and test your package.
  29. Once testing confirms your package works correctly, enable compression if desired by editing the PACKAGE.INI and setting CompressionType=Fast.

    [Compression]
    CompressionType=Fast

  30. Rebuild your package.
  31. Complete!

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c328153ef010535cdada5970b

Listed below are links to weblogs that reference Step by Step on How to Create a ThinApp Package of the VI 2.5 Client:

Comments

RonTom

Thanks!
One comment and one question:

I don't know if it's a bug in thinstall or what, but when I run this package on Vista x64 and try to open a console to a VM it says TCP protocol missing. I found out that the apps in the sandbox can't read the hosts-files. So I added the directory %SystemSystem%\drivers\etc to the package and rebuilt it. And voila... It works.

My question is: Is it possible to configure this package so that plugins can be installed from the VI-client (UpdateManager and Converter)?

Stefan Oswald

Works nice but only connecting CD/DVD doesn't work.

Post a comment

If you have a TypeKey or TypePad account, please Sign In.

About this Blog

VMware ThinApp lets you deliver and deploy applications more efficiently, more securely, and more cost-effectively with agentless application virtualization.

Subscribe via RSS  

Or submit your email for updates:

End-User Computing Blog


Read additional blog posts for VMware ThinApp on the VMware End-User Computing Blog.

Visit Now

Search ThinApp Blog

Community


Discussions and resources for VMware ThinApp

Visit now

Twitter


Facebook

YouTube


    VMware Blogs