Data based systems Blog

SQL Server MSDE notes

Only the SQL Server version of MSDE supports Enterprise Manager, as the interface.

The .msi (as opposed to merge modules) installation approach is required for SQL Server service pack support.

The Desktop Engine Setup is not intended for installing the SQL Server 2000 components from the compact disc; this must be done separately.

You should always install the version of Desktop Engine from SQL Server 2000 SP3a or later.

Identifying the .msi version installed

      http://support.microsoft.com/default.aspx?scid=kb;en-us;311762

Quick Install

  1. Download the latest version from:  http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=en
  2. Expand/unpack it – wherever it wants to go e.g. to C:\sql2ksp3\

Ø      setup INSTANCENAME=”InstanceName” SECURITYMODE=SQL  SAPWD=”whatever” DISABLENETWORKPROTOCOLS=/L*v path/logFileName

Always specify a strong password for the sa login – even when configuring for Windows Authentication Mode.

Errors

Security

Cannot generate SSPI context

Register MSDE with Active Directory (via Properties | Active Directory)

then, re-boot.

Service Packing

You should always install the latest version of Desktop Engine from SQL Server 2000 SP3a or later.  For example, Sql2kdesksp3.exe un-packages the service pack 3 version of MSDE 2000.

Service Packing by package

Users who have an existing instance of MSDE 2000 must know how their instance of MSDE 2000 was installed to know how to patch it.  In particular, you must know the original package name for your instance of MSDE 2000.  To determine the original package name, see the article How To Identify Which MSI File Was Used for an Existing MSDE Installation in the Microsoft Knowledge Base.

If the original package name for your instance was SqlRun01.msi through SqlRun16.msi, download the file SQL2KdeskSP3.exe to apply SP3a.

If the original package name for your instance was Sample.msi or SampleUpg.msi, see the article How To Create Patch Files for the MSDE 2000 Sample.msi File.

If your original package name indicates the instance of MSDE 2000 was installed by the Microsoft .NET SDK or Microsoft Application Center, see Microsoft Products that include MSDE 2000 for instructions.

If the product code, associated with your instance of MSDE 2000 is not listed, then the instance was installed by the setup utility of an application. You cannot use SQL2KdeskSP3.exe to apply SP3 to such MSDE instances. Instead, you must get a patch file from the company who wrote the application. If the application came from a company other than Microsoft, you must contact that company for a patch file. If the application came from Microsoft, refer to Microsoft Products that include MSDE 2000 which lists the MSDE applications from Microsoft (this page will be updated with information about how to upgrade these instances of MSDE 2000).

Installation parameters & switches

For the latest MSDE Setup.exe switches (listed below), see:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/distsql/distsql_84xl.asp

If the link is bad, search MSDN for “MSDE Setup.ini” or “Customizing Desktop Engine Setup.exe” (updated July 2003)

Customizing Desktop Engine Setup.exe

You can customize many of the default installation parameters for Setup.exe and then redistribute it for automated installation, using shell scripts and other installation programs.  You can configure Setup.exe by using either command-prompt options or parameters specified either in an .ini file or on the command line.  You can also run Setup.exe from within another Microsoft® Windows® application through a call to the Win32® CreateProcess() function, passing Setup options in a character string, using the lpCommandLine parameter.  See Desktop Engine Installation Samples.

Syntax

setup [/?]

   [

      [   /i package_file

          [ /settings ini_file ]

          |   [   [ ALLOWXDBCHAINING=1 ]

                   [ BLANKSAPWD=1 ]

                   [ CALLBACK=Dllname!CallbackFunctionName ]

                   [ COLLATION=collation_name ]

                   [ DATADIR=data_folder_path ]

                   [ DISABLENETWORKPROTOCOLS=n ]

                   [ INSTANCENAME=instance_name ]

                   [ SAPWD=sa_password” ]

                   [ SECURITYMODE=SQL ]

                   [ TARGETDIR=executable_folder_path” ]

                   [ UPGRADE=]

                   [ UPGRADEUSER=admin_login ]

                   [ UPGRADEPWD=admin_password ]

              ]

      ]

   [ /L*v [filename] ]

   [ /upgradesp { SQLRUN

        | <MSIPath>SQLRunnn.msi }

   ]

   [ /qn | /qb ]

   [ /x package_name ]

   ]

Arguments

/?

Displays a syntax summary of the setup options.  Because setup displays more options than it accepts, use only the options documented in this topic. ???

/i package_file

Specifies the name of the Windows Installer installation package file (an .msi file) to be used to install an instance of the Microsoft SQL Server™ 2000 Desktop Engine (MSDE 2000).  Place the .msi file in the same folder as Setup.exe.  If /i is not specified, copy all 16 of the .msi files from the \MSDE\Setup folder on the SQL Server 2000 compact disc to the folder in which Setup.exe is located.

For SP3 or later, the preferred approach is to specify the INSTANCENAME parameter instead of the /i option.  If all of the .msi package files are present, Setup will dynamically select which package file to use for the installation.

If neither /i nor INSTANCENAME are specified, Setup will dynamically select the package file and install a default instance.  Caution  It is possible to overwrite an instance by mistake. You must check for instances that are already present, including instances installed by other vendors’ software.

settings ini_file_name

Specifies the name of an .ini file containing settings for the Setup parameters ALLOWXDBCHAININGDISABLENETWORKPROTOCOLSTARGETDIRDATADIRINSTANCENAMECOLLATION, and SECURITYMODE.  If /settings is specified, these parameters should be set in the .ini file, not on the command prompt.  Place the .ini file in the folder where Setup.exe is located.

ALLOWXDBCHAINING=1

In SQL Server 2000 Service Pack 3 (SP3) or later, overrides the default behavior of the Installer and enables cross database ownership chains for the instance.  For more information about cross database chaining, see the readme file for SQL Server 2000 SP3 or later.  You should not use this parameter unless you are running an application that requires cross database ownership chains.

BLANKSAPWD=1

Overrides the Installer’s default behavior, which is to require that you specify a strong sa password.  If you specify BLANKSAPWD=1, the Installer assigns a null password to the sa login

CALLBACK=Dllname!CallbackFunctionName

Specifies the name of the DLL, containing the Desktop Engine Windows Installer callback function and the name of the callback function.  For more information, see Windows Installer Callback Functions for Desktop Engine.

COLLATION=”collation_name

Specifies the SQL Server collation that will be used as the default collation for this instance of the Desktop Engine.  For information about collation names, see Windows Collation Name and SQL Collation Name.

DATADIR=”data_folder_path

Specifies the folder where the SQL Server system databases are built.  The default is the same folder used for the Desktop Engine executable files.  The file path for this parameter must end with a backslash (\).

DISABLENETWORKPROTOCOLS=n

In SQL Server 2000 SP3 or later, DISABLENETWORKPROTOCOLS specifies how the Installer configures the network protocol support for the instance of the Desktop Engine being installed or upgraded.  n is an integer number and should be set to either 0 or 1.

Value Specified for n Upgrading an Existing Instance Installing New Instance
1 Instance is configured with all server Net-Libraries disabled. Instance is configured with all server Net-Libraries disabled.
0 The existing server Net-Library configuration is retained. Instance is configured with default server Net-Libraries and addresses enabled.
Default = Parameter not specified or is any value other than 0 or 1 The existing server Net-Library configuration is retained. Instance is configured with all server Net-Libraries disabled.

SP3 DISABLENETWORKPROTOCOLS has two differences from SP3a:

When installing a new instance using SP3 and DISABLENETWORKPROTOCOLS is either not specified or set to a value other than 0 or 1, then the instance is installed with the default Net-Libraries and addresses enabled.  In SP3a, the Net-Libraries are disabled.

Whenever all Net-Libraries are disabled for an instance of MSDE 2000 SP3, the instance will still use User Datagram Protocol (UDP) port 1434.  In SP3a, the instance will not use UDP port 1434.  For more information, see the readme file for SQL Server 2000 SP3a.

INSTANCENAME=instance_name

Specifies the name for the instance.  If no instance name is specified, the instance is installed as a default instance.

SAPWD=sa_password

Specifies the password to be assigned to the sa login, when installing a new instance of MSDE 2000.  SAPWD is ignored when you upgrade an existing instance of MSDE 2000; so, you should ensure the sa login has a strong password before upgrading.  You should always specify a strong sa password – even when using Windows Authentication Mode.  While the SAPWD parameter is not written to the installation log file when running Setup.exe, it is if you install using merge modules.

SECURITYMODE=SQL

Specifies that the instance be configured in Mixed Mode, where the instance supports both SQL Server Authentication and Windows Authentication connections.

On Microsoft Windows NT® 4.0 or Windows 2000, if SECURITYMODE=SQL is not specified, the instance will be configured in Windows Authentication Mode.  The instance will only support Windows Authentication connections and the Windows local Administrator’s group will be added to the SQL Server sysadmin role.  If SECURITYMODE=SQL is specified, Setup configures the instance in Mixed Mode.  When possible, use Windows Authentication.

In Microsoft Windows 98 or Windows ME, the instance is always configured to use Mixed Mode, regardless of whether SECURITYMODE=SQL is specified.  On these operating systems, MSDE 2000 can only support SQL Server Authentication connections.

TARGETDIR=”executable_folder_path

Specifies the folder where the Desktop Engine executable files are to be installed.  The default for executable_folder_path when installing a default instance is C:\Program Files\Microsoft SQL Server\MSSQL\Binn\.  When installing a named instance, the default is C:\Program Files\Microsoft SQL Server\MSSQL$<InstanceName>\Binn\, where <InstanceName> is the name specified in the INSTANCENAME option.  The file path for this parameter must end with a backslash (\).

UPGRADE=1

Specifies that Desktop Engine Setup or Windows Installer is upgrading an instance of Microsoft Desktop Engine (MSDE) version 1.0 to SQL Server 2000 Desktop Engine.  The only value supported is 1.  MSDE 1.0 operates in the same fashion as a default instance of MSDE 2000 and is always upgraded to a default instance of MSDE 2000.

UPGRADEUSER=admin_login

Specifies the login to be used when you upgrade an instance of either MSDE 1.0 or MSDE 2000 using SQL Server Authentication. The login must be a member of the sysadmin fixed server role. This parameter is only used when you specify SECURITYMODE=SQL when upgrading an instance of MSDE.

UPGRADEPWD=admin_password

Specifies the password for the login specified in UPGRADEUSER when you upgrade Desktop Engine using SQL Server Authentication.

/L*v [filename]

Specifies that a verbose log be created.  If filename is specified, the log is stored in the file specified.

/upgradesp { SQLRUN | <MSIPath>SQLRunnn.msi }

Specifies that Setup will upgrade an existing instance of MSDE 2000.  For SP3 and later, this option replaces the /option supported by earlier versions of Setup.  Do not use the /p option with SP3 or later.  When upgrading to SP3 or later, you are no longer required to specify the .msi file, used to install the existing instance of MSDE 2000.

Many users simply specify SQLRUN, in which case the MSDE 2000 SP3 or later setup utility determines which .msi file to use. When you specify SQLRUN without specifying an INSTANCENAME, Setup will upgrade the default instance of MSDE 2000. If you specify both SQLRUN and an INSTANCENAME, Setup will upgrade the instance you specified using the INSTANCENAME parameter.

When you specify the name of an MSDE 2000 .msi installation package file, Setup will upgrade whichever instance on the computer was originally installed with a merge module of the same name. For example, if you specify SqlRun01.msi, Setup will upgrade whichever instance of MSDE 2000 was originally installed using SqlRun01.msi. MSIPath is the path to the folder holding the .msi file. MSIPath defaults to Setup\.

/qn

Specifies that Setup run with no user interface.

/qb

Specifies that Setup show only the basic user interface. Only dialog boxes displaying progress information are displayed. Other dialog boxes, such as the dialog box that asks users whether they want to restart at the end of the setup process, are not displayed.

If neither /qn nor /qb is specified, Setup displays all user interface dialog boxes.

/x package_name

Specifies the name of the Windows Installer installation package file (an .msi file) to use when uninstalling an instance of SQL Server 2000 Desktop Engine. You must specify the name of the same installation package file that was used to install the instance of the Desktop Engine. Place the .msi file in the same folder as Setup.exe.

Remarks

Setup.exe is a tool created for developers whose applications do not use Windows Installer. It can be called directly by installation programs and batch files.  Users can also execute it from the command prompt – to install or upgrade instances of MSDE.

On Passwords

By default, the MSDE 2000 SP3 or later Setup utility will not install a new instance of MSDE 2000 unless you use the SAPWD parameter to specify a strong sa password.  By default, the MSDE 2000 SP3 or later setup will not upgrade an existing instance of MSDE 2000 unless you have assigned a strong password to the sa login before attempting the upgrade. You should assign a strong password to the sa login, even when upgrading an existing instance, unless the application using your instance of MSDE depends in some way on a null sa password.  Even if the instance of MSDE 2000 is running in Windows Authentication mode, the sa login becomes immediately active if the instance is ever switched to Mixed Mode.  A null, blank, simple or well-known sa password could be used for unauthorized access.  If you need to assign a strong sa password before upgrading your instance of MSDE 2000, use the sp_password system stored procedure to assign a strong password to the sa login.

Installation path notes

All Desktop Engine SP3a installation files and folders are located in the \MSDE folder:

On the SQL Server 2000 SP3a CD-ROM

In the directory containing the extracted service pack files from SQL2KDeskSP3.exe, downloaded from the SQL Server 2000 service pack Web page.

The \MSDE folder holds the SP3a readme.htm file, the readme.txt file, the license.txt file, and the executable files for the Setup utility.  It also has the following subfolders:

\Msi: contains the executable files, needed to install Windows Installer or upgrade Windows Installer, if it is earlier than 2.0.2600.0.

\MSM: Contains the merge modules needed for a merge module setup.

\Setup: Contains the .msi installation package files required by the MSDE 2000 setup to install a new instance of MSDE 2000 SP3a or the msp patch package files to upgrade existing instances of MSDE 2000 to SP3a and the sqlrun.cab cabinet file, containing the files installed by Setup.

Distribution

For a description of using the Desktop Engine merge modules, see the topic “Using SQL Server Desktop Engine Merge Modules” in SQL Server Books Online.

If your application setup calls MSDE 2000 Setup, build a folder with this structure and sets of files (where MSDEInstallFolder represents an example folder name):

MSDEInstallFolder

Copy in these files from the Desktop Engine SP3a \MSDE folder: Setup.exe, Setup.ini, Setup.rll and sqlresld.dll.

MSDEInstallFolder\Msi

Copy in all of the files from the Desktop Engine SP3a \MSDE\Msi folder.

MSDEInstallFolder\Setup

Copy in all of the files from the Desktop Engine SP3a \MSDE\Setup folder.

You can then execute Setup.exe to install or upgrade instances of MSDE 2000 SP3a.

If Windows Installer has not been installed on the computer or is a version earlier than the version tested with MSDE 2000 SP3a Setup, Setup will use the files in the MSDEInstallFolder\Msi folder to upgrade Windows Installer.

Uninstallation

When an application needs to uninstall an instance of the Desktop Engine, it must call Setup.exe using the /x option to specify the same .msi file that was used to install that instance. For example, to uninstall a named instance installed with a custom installation package file named MyCustom.msi, execute:

setup /x MyCustom.msi

Setup.ini examples

The following example shows the format of a typical .ini file:

[Options]TARGETDIR=”C:\Program Files\Microsoft SQL Server\Mssql$MyInstance\Binn\”DATADIR=”C:\Program Files\Microsoft SQL Server\Mssql$MyInstance\Data\”INSTANCENAME=MyInstance

Recommended Settings for TARGETDIR and DATADIR

Because your application is installing an instance of SQL Server 2000, it should specify the same default folders that SQL Server 2000 uses for installations of instances.  You can specify different locations if you want to install the instance in a nondefault location.

When you install a default instance, the recommended default settings are:

TARGETDIR=”C:\Program Files\Microsoft SQL Server\Mssql\Binn\”DATADIR=”C:\Program Files\Microsoft SQL Server\Mssql\Data\”

When you install a named instance, the recommended default settings are:

TARGETDIR=”C:\Program Files\Microsoft SQL Server\Mssql$MyInstance\Binn\”DATADIR=”C:\Program Files\Microsoft SQL Server\Mssql$MyInstance\Data\”INSTANCENAME=”MyInstance”

Note  Settings that contain spaces should be enclosed with quotation marks.

Installing a NEW INSTANCE of MSDE 2000

These examples will install a new instance of MSDE 2000 SP3a that has been configured with its network connectivity disabled.  If the instance must accept connections from applications running on other computers, also specify DISABLENETWORKPROTOCOLS=0.

These examples install instances using the defaults for all configuration items such as collation and file locations. The configurations can be controlled by setup parameters, such as COLLATIONDATADIR and TARGETDIR.

Open a command prompt window.

From the command prompt, use the cd command to navigate to the folder containing the MSDE 2000 SP3a setup utility.  For example:

cd c:\MSDESP3aFolder\MSDE

where c:\MSDESP3aFolder is either the path into which you extracted the MSDE 2000 SP3a files or the Desktop Engine SP3a folder on the SQL Server 2000 SP3a CD.

Execute one of the following commands:

To install a default instance, configured to use Windows Authentication Mode, execute:

setup SAPWD=”AStrongSAPwd

where AStrongSAPwd is a strong password to be assigned to the sa login.

To install a named instance, configured to use Windows Authentication Mode, execute:

setup INSTANCENAME=”InstanceName” SAPWD=”AStrongSAPwd

where AStrongSAPwd is a strong password to be assigned to the sa login and InstanceName is the name to be assigned to the instance.

To install a default instance, configured to use Mixed Mode, execute:

setup SAPWD=”AStrongSAPwd” SECURITYMODE=SQL

where AStrongSAPwd is a strong password to be assigned to the sa login.

To install a named instance configured to use Mixed Mode, execute:

setup INSTANCENAME=”InstanceName” SECURITYMODE=SQL SAPWD=”AStrongSAPwd

where AStrongSAPwd is a strong password to be assigned to the sa login and InstanceName is the name to be assigned to the instance.

Important  If you are using an .ini file during setup, avoid storing credentials in the .ini file.

Important  Always specify a strong password for the sa login, even when the instance is configured to use Windows Authentication Mode.

Upgrading an EXISTING INSTANCE of MSDE 2000

These examples will upgrade an existing instance of MSDE 2000 to SP3a, and also disable the network connectivity for that instance of MSDE 2000. If the instance must accept connections from applications running on other computers, do not specify the DISABLENETWORKPROTOCOLS parameter.

Open a command prompt window.

From the command prompt, use the cd command to navigate to the folder containing the MSDE 2000 SP3a setup utility:

cd c:\MSDESP3aFolder\MSDE

where c:\MSDESP3aFolder is either the path to the folder into which you extracted the MSDE 2000 SP3a files, or the Desktop Engine SP3a folder on the SQL Server 2000 SP3a CD.

Execute one of the following commands:

For a default instance using Windows Authentication Mode, execute:

setup /upgradesp sqlrun DISABLENETWORKPROTOCOLS=1

For a named instance using Windows Authentication Mode, execute:

setup /upgradesp sqlrun INSTANCENAME=InstanceName DISABLENETWORKPROTOCOLS=1

For a default instance using Mixed Mode (where AnAdminLogin is a member of the sysadmin fixed server role), execute:

setup /upgradesp sqlrun SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin UPGRADEPWD=AdminPassword DISABLENETWORKPROTOCOLS=1

For a named instance using Mixed Mode (where AnAdminLogin is a member of the sysadmin fixed server role), execute:

setup /upgradesp sqlrun INSTANCENAME= InstanceName SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin UPGRADEPWD=AdminPassword DISABLENETWORKPROTOCOLS=1

Important  If you use an .ini file during setup, avoid storing credentials in the .ini file.

Note  When upgrading Desktop Engine on a computer running Windows 98 or Windows Millennium Edition, the instance of Desktop Engine that you are upgrading must be stopped before starting Setup.

  1. UPGRADE AN EXISTING INSTANCE OF MSDE 1.0 TO MSDE 2000

These examples will upgrade an existing instance of MSDE 1.0 to MSDE 2000 SP3a, and also disable the network connectivity for the instance. If the instance must accept connections from applications running on other computers, do not specify the DISABLENETWORKPROTOCOLS parameter.

MSDE 1.0 operates in the same fashion as a default instance of MSDE 2000, and is always upgraded to a default instance of MSDE 2000.

Open a command prompt window.

From the command prompt, use the cd command to navigate to the folder containing the MSDE 2000 SP3a setup utility:

cd c:\MSDESP3aFolder\MSDE

where c:\MSDESP3aFolder is either the path to the folder into which you extracted the MSDE 2000 SP3a files, or the Desktop Engine SP3a folder on the SQL Server 2000 SP3 CD.

Execute one of the following commands:

When using Windows Authentication Mode, execute:

setup UPGRADE=1 DISABLENETWORKPROTOCOLS=1

When using Mixed Mode (where AnAdminLogin is a member of the sysadmin fixed server role), execute:

setup UPGRADE=1 SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin UPGRADEPWD=AdminPassword DISABLENETWORKPROTOCOLS=1

Background

Orientation: Desktop Engine Installation Package Files (.msi files)

The Microsoft® SQL Server™ 2000 Desktop Engine Setup uses two main files: a .cab file containing the files to be installed and an installation package (.msi file) that defines the installation process.  If an application setup program uses the Win32® CreateProcess() function to call the Windows Installer program (Msiexec.exe), the Setup program must specify an installation package file.

All applications must use a different Desktop Engine installation package file for each instance (maximum of 16) of the SQL Server Desktop Engine installed on a computer. If one installation package file is used to install one instance, that installation package file cannot be used to subsequently install another instance of the Desktop Engine.

Here are the ways for an application to provide a Desktop Engine installation package file:

Copy the 16 SqlrunXX.msi files from the \Sqlmsde\Setup folder on the SQL Server 2000 compact disc to the folder containing Setup.exe.  There are only 16 .msi files on the compact disc because Microsoft supports a maximum of 16 SQL Server 2000 instances per computer.

The application setup folder can contain a custom Desktop Engine installation package file.

If an application copies all 16 of the SqlrunXX.msi files into the folder with the Desktop Engine Setup and does not specify a /i parameter, the Desktop Engine Setup dynamically chooses one of the 16 .msi files that has not yet been used to install an instance.  This is the recommended approach and is the easiest to implement.

Each Desktop Engine installation package file contains globally unique identifiers (GUIDs) that uniquely identify the file.  GUIDs are incorporated in the installation package file at the time the file is created.  The Desktop Engine Setup uses the GUIDs to determine whether a particular installation package file has been already used to install an instance of the Desktop Engine on a computer.  This means that if a user gets two different copies of the same installation package file, they can use only one of them to install an instance of the Desktop Engine on a computer. For example, two different vendors could decide to minimize the size on their application’s setup folders by using only the Sqlrun04.msi file from the SQL Server 2000 compact disc and not copy all 16 of the installation package files, supplied by SQL Server.  In this example, only one of the applications could install an instance of the Desktop Engine successfully. When the second application attempted to install an instance of the Desktop Engine, it would receive an error stating that the sqlrun04.msi had already been used to install an instance of the Desktop Engine. Applications that need to minimize the number of files they distribute with their application can eliminate the potential for such an error by creating a custom Desktop Engine installation package file (but that won’t support SQL Server service packs).

Each time an application needs to uninstall an instance of the Desktop Engine, it must call the SQL Server 2000 Desktop Engine Setup using the /x switch to specify the same .msi file that was used to install that instance.

Creating a Custom Desktop Engine Installation Package File

Creating a custom Desktop Engine installation package file that will never conflict with an installation package, distributed by another application, requires using Microsoft Visual Studio and the Windows Installer Software Developers Kit (Windows Installer SDK).  For more information about the Windows Installer SDK, see the MSDN Library at Microsoft Web site. SQL Server 2000 provides the following Desktop Engine installation package files to use as templates when creating a custom installation package file:

Sample.msi. This installation package file supports only new installs; it does not support upgrading an instance of the Microsoft Data Engine (MSDE) version 1.0 to the SQL Server 2000 Desktop Engine (version 2.0).

SampleUpg.msi.  This installation package file can be used for both installing new instances of the SQL Server 2000 Desktop Engine and upgrading instances of MSDE 1.0 to SQL Server 2000 Desktop Engine.

The default location for both of these files is in the folder C:\Program Files\Microsoft SQL Server\80\Tools\Devtools\Samples\Desktop.

To generate a custom Desktop Engine installation package file

Copy the file Sample.msi or SampleUpg.msi to your folder as YourName.msi, where YourName is the name for your custom installation package file.

Using the GUIDGEN tool from Visual Studio, generate a GUID.

Using the ORCA tool from the Windows Installer SDK, edit YourName.msi.  On the Summary Information menu, replace the current ProductID value with the GUID you generated in GUIDGEN.

Use GUIDGEN to generate a second GUID.

In ORCA, edit YourName.msi, go to the Property Table and replace the current ProductCode value with the new GUID.  Save YourName.msi.

Leave a Reply

Your email address will not be published. Required fields are marked *