在wix中使用<sql:sqldatabase>的端口号

时间:2015-09-06 16:42:31

标签: wix

我有一个.wxs文件,它使用几个语句来创建/删除/更新数据库。它还具有配置为Windows身份验证和SQL身份验证的2。这里我有一个场景,数据库服务器配置在默认的DB端口:1433或非默认端口号。为了完成这项工作,我在下面的机制中传递了端口号。

<sql:SqlDatabase Id="SqlMasterDBWinAuth" Server="[SQL_SERVER_NAME],[DATABASE_PORT]" Database="master" Instance="[SQL_INSTANCE_NAME]"/>
    <sql:SqlDatabase Id="SqlMasterDBSqlAuth" Server="[SQL_SERVER_NAME],[DATABASE_PORT]" Database="master" Instance="[SQL_INSTANCE_NAME]" User="SQLUser" />

在数据库连接并使用正确的服务器名称和端口号创建的情况下,这非常有效。

但在卸载产品时,我在UninstallSQLData上收到以下错误。

===============================================================
Action 13:20:33: UninstallSqlData. Configuring SQL Server
Action start 13:20:33: UninstallSqlData.
MSI (s) (20:F8) [13:20:33:246]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI691A.tmp, Entrypoint: UninstallSqlData
UninstallCertificates:  Error 0x8007007a: Failed to copy server string to database object:MCC_HOME_DIRECTORY: C:\Program Files (x86)\NetIQ\DBManager\
AUTOSYNC_EXISTS: 0
DELETEDB: 
SQL_SERVER_NAME: BLRDVSMACHINE
SQL_INSTANCE_NAME: 
INSTALLDIR: C:\Program Files (x86)\NetIQ\DBManager\
REMOVE: ALL
DATABASE_PORT: 1433
,1433
UninstallCertificates:  Error 0x8007007a: failed to read SqlDatabase table
CustomAction UninstallSqlData returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 13:20:33: UninstallSqlData. Return value 3.
===============================================================

因此,请让我知道以下内容 1.为什么卸载失败并出现错误? 2.将端口号传递给服务器名称参数,这是一种正确的方法吗? 3.是否有其他方法可以实现使用SQL扩展将端口号传递给服务器名称的要求?

0 个答案:

没有答案