InstallShield 2012 Spring introduces support for SQL Azure database connection capabilities that enable hybrid cloud SQL deployments. Using the SQL Scripts view, you can now create connections to run SQL scripts on SQL Azure databases by selecting the Microsoft SQL Azure check box from the Database Servers list on the Requirements tab.
Once you have configured the connections, your installation displays a SQLLogin dialog at run time that enables end users to connect to a SQL Azure database when they click the Next button. For the Database server that you are installing to box on the SQLLogin dialog, end users need to enter a fully qualified server name in the following format:
For the authentication type, select the Server authentication using the Login ID and password below radio button, and use the following format to enter a string in the Login ID box:
Following is an example:
Your server name and fully qualified server name can be found in your Windows Azure account:
SQL Azure databases do not support Windows Authentication. If you want the Server authentication using the Login ID and password below radio button to be selected by default, you can use the General tab of the SQL Scripts view to do so:
If you want to disable the Windows authentication credentials of current users radio button, follow the steps below.
For Basic MSI projects, preselect the Server authentication using the Login ID and password below radio button in the SQLLogin dialog, disable both radio buttons (so that end users cannot change the selection), and replace the text for the server radio button with an enabled-looking static text control (so that it does not look like the selection option is disabled):
- In the View List under User Interface, click Dialogs.
- In the Dialogs explorer, under the All Dialogs node, expand the SQLLogin dialog node, and then click a language under the dialog node. The Dialog Editor in the center pane shows the dialog in the selected language.
- In the control propery list at the top of the right pane, select the RadioButtonGroup1 (RadioButtonGroup) control.
- In the right pane, set the Enabled setting to False.
- In the control property list, select the IS_SQLSERVER_AUTHENTICATION2 (RadioButton) control.
- In the right pane, delete the string from the Text setting.
- In the Dialog Editor, add a new Text Area control to replace the label for the radio button control whose string you deleted in step 6:
- In the Controls toolbar, click the Text Area button.
- Draw a rectangle over the area next to the second radio button.
- In the right pane, in the Text setting, enter the following string:
Server authentication using the Login ID and password below
- Position the new control so that its text is aligned with the second radio button control.
As an alternative, you can change the text above the radio buttons on the SQLLogin dialog to something such as Connect via server authentication using the Login ID and password below, delete both of the radio buttons, and reposition the other controls on the dialog as needed.
For InstallScript and InstallScript MSI projects:
- Open SQLServerSelectLoginDlg.rul in a text editor such as Notepad. The default location of SQLServerSelectLoginDlg.rul is C:\Program Files\InstallShield\2012Spring\Script\Isrt\src
- In the View List under Behavior and Logic, click InstallScript.
- In the InstallScript Files explorer, under the Files node, click the Setup.rul node.
- Copy the SQLServerSelectLogin2 function implementation and the SQLSelectLoginEnableButton function declaration from SQLServerSelectLoginDlg.rul, and paste it into the Setup.rul file in the InstallScript view.
- In the InstallScript view, search for the switch (nId) statement in the SQLServerSelectLogin2 function and add the following code to the beginning of the case DLG_INIT: block:
EnableWindow( CtrlGetDlgItem("", hDlg, RADIO_WINDOWS), FALSE );
Installations that are created in InstallShield use the SQL Server 2008 Native Client ODBC driver to connect to SQL Azure databases. That version of ODBC driver may not be installed on target systems. Therefore, you may want to use the Redistributables view to add the InstallShield prerequisite for the SQL Server 2008 Native Client to your installation in order to ensure that end users can connect to SQL Azure databases properly.
Installations that are created in InstallShield use TCP port 1433 to communicate with SQL Azure databases. To access a SQL Azure database from your target machine, ensure that the firewall on your network and local computer allows outgoing TCP communication on TCP port 1433. See Configure the Windows Firewall to Allow SQL Server Access.
Before you can connect to your SQL Azure server for the first time, you must use the Windows Azure Platform Management Portal to configure the SQL Azure firewall. You will need to create a firewall setting that enables connection attempts from your target machine. For more information, see How to: Configure the SQL Azure Firewall and SQL Azure Firewall.
SQL scripts that you have designed for SQL Server may not work if you run them on SQL Azure databases because not all embedded Transact-SQL statements are supported by SQL Azure databases. Some statements that are supported in SQL Azure databases may not support all of the same optional parameters as SQL Server. For more information about Transact-SQL support in SQL Azure databases, see Transact-SQL Support (SQL Azure Database).
To learn how agile development supports cloud development and installation practices, watch the Agility and Cloud Development Webinar.