Home > Blogs > VMware ThinApp Blog

How to ThinApp MSDE/SQL 2005 Express

These are instructions on how to ThinApp an installation of Microsoft SQL Desktop Engine or Microsoft SQL Express 2005 (The instructions will work for both).


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).
  • Copy of MSDE/SQL 2005 Express version in question.
  • Knowledge of MSDE/SQL 2005 Express installation procedures and options.


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.


Setup and configuration of any version of Microsoft SQL Desktop Engine will most likely be done via a 3rd party application's installation – whether through a setup option or requirement during the setup process of the 3rd party application. Typically, these types of installations of MSDE create and utilize custom instance names as well as other optional settings with MSDE (i.e. use of Windows and SQL authentication methods or just Windows authentication, SA password, network (or local only) access, etc.). Therefore, unlike most Microsoft applications, you cannot double click the MSDE SETUP.EXE file to conduct the installation. Doing so will start the Windows Installer, but in most cases the installation may error out and fail. Instead, change to a command prompt or utilized the RUN window via Start | Run, and run the MSDE SETUP.EXE with the appropriate command line switches.

If, however, you wish to install and capture into a ThinApp package a standalone instance of MSDE (outside of any 3rd party application's installation process), then this is how you would do that.Also, the original SQL Server 2005 Express Edition and SP1 virtualize without much problem. However, SP2 needs some special treatment. See the instructions below for the differences.


The use of MSDE setup options and command line switches along with their explanations can be found on Microsoft's Support site.

MSDE 2000 Setup Options — http://msdn.microsoft.com/en-us/library/aa214935(SQL.80).aspx

Instructions on How to ThinApp MSDE/SQL 2005 Express

These are the basic instruction you will need on how to ThinApp MSDE/SQL 2005 Express    

  1. Start with a cleanly built Windows XP VM.

    NOTE: Use the "How to make a ThinApp Application" as a reference.

  2. Run a ThinApp Pre-installation Setup Capture.
  3. Close the ThinApp Pre-installation Setup Capture using the red "X" in the upper-right corner.
  4. Depending upon if you have a custom installer for MSDE/SQL 2005 Express or not…
    1. If you do not have a custom installer and need to install MSDE with command line switches…then from the Command Prompt or Run line, enter the full path to SETUP.EXE for MSDE along with the appropriate setup options.

      In the above example, the MSDE setup will use Windows and SQL authentications, the SA password will be blank, and the SQL Instance name will be "TestDB".
      NOTE: The SQL Instance name is case sensitive.
    2. If you do have a custom installer for MSDE which sets up its own instance name, then run the custom installer.
    3. For SQL 2005 Express SP2 ONLY, follow the wizard until you get to the registration page, where it asks for your name and company. At the bottom is a checkbox labeled "Hide advanced configuration options" which is checked by default. Uncheck it to show the advanced options.
      NOTE: You can take the defaults or adjust the settings to your preference.
      1. When it asks for the accounts under which to run services, by default "Use the built-in System account" will be selected. Select "Use a domain user account" instead and enter name and password of the user you're logged in as and doing the install as. Tell setup to start the database service on completion (already selected by default).
      2. Continue the setup until the end.
  5. Once the MSDE setup process is completed, open the Services window (START | RUN | SERVICES.MSC) and stop the MSSQLSERVER:<Instance Name> service and the SQL Server:<Instance Name> service.
  6. Run the ThinApp Post-installation Setup Capture.
  7. Make the following modifications to the project.
    1. Change the folder isolation level for "%AppData%\Microsoft\Crypto\RSA" from FULL to MERGED by editing the ##Attributes.ini file in that directory and changing "DirectoryIsolationMode=Full" to "DirectoryIsolationMode=Merged".
  8. Make any other modifications to the project as desired or needed.
  9. Build and deploy the package as desired.

This entry was posted in Applications, Tips and tagged , , on by .
Dean Flaming

About Dean Flaming

Dean is currently an EUC Architect and member of the VMware End User Computing Enablement and Lighthouse Support teams, working to develop communications and IP around VMware End User Computing products and solutions as well as support many various Lighthouse accounts with their own EUC practices. Prior to this, from 2008 through 2012 Dean was one of VMware's End User Computing Specialists. Throughout his time at VMware, Dean has also written and published various articles, videos, and podcasts regarding VMware's EUC Solutions.

4 thoughts on “How to ThinApp MSDE/SQL 2005 Express

  1. andra

    Thanks for this tutorial, I will immediately try

  2. andra

    I never try to make a portable office XP, but always in trouble with the license, each running for office to request a license, but now thanks to this tutorial I have making it portable.

  3. Dean Flaming

    Just to post an update…I’ve noted that the .NET Framework service (required by SQL 2005 Express) is not normally required to be running for SQL 2005 Express to work. Therefore, one could also disable it or set it to manual within their ThinApp package as well by setting the START registry value for the .NET Framework service to manual (a REG_DWORD value of 3).

  4. Dean Flaming

    It should also be noted the SQL Server Browser is not needed running unless the app or user will be browsing within the application for SQL server instances. Therefore, it can also be set to manual or disabled.

Comments are closed.