安装SQL Server 2014 Express包作为ClickOnce先决条件

我正在使用clickOnce并使用它部署安装程序。

我尝试了各种设置。 使用SQL Server 2008 Express和SQL Server 2012 Express作为先决条件都可以(我已经下载了它们并设置了clickonce“从app的相同路径下载先决条件”的选项)。

现在我正在尝试使用SQL Server 2014 Express做同样的事情。

由于SQL Server 2014 Express包不能完成2008和2012版本的版本,我正在尝试创建它。

我已经完成了它似乎工作,但安装它时给出错误号-2054422506 。 这是一个非常普遍的错误,我不明白。

它似乎是一个弹出窗口,说安装已停止,因为安装SQL Server Express 2014时出错并查看日志以获取更多信息。 日志只说:

Installing using command 'C:\Users\VIRTUA~1\AppData\Local\Temp\VSD24F4.tmp\SqlExpress2014\ SQLEXPR32_x86_ITA.EXE' and parameters '/q /action=Install /features=SQL /instancename=SQLEXPRESS /securitymode=SQL /sapwd=passwd /sqlsvcaccount="NT Authority\Network Service' Process exited with code -2054422506 Status of package 'SQL Server 2014 Express' after install is 'InstallFailed' 

所以,我试图手动安装SQL Server 2014 Express,没有ClickOnce,它可以工作。 所以我觉得我在包的xml文件中弄得一团糟。

我的包是这样构建的(在C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ Bootstrapper \ Packages中):

 \SqlExpress2014 \it -SQLEXPR32_x86_ITA.exe -SQLEXPR_x64_ITA.exe -eula.rtf -package.xml -product.xml -SqlExpressChk.exe 

这是我的package.xml文件:

                                                                                                                                                                        SQL Server 2014 Express it http://download.microsoft.com/download/1/6/E/16E343FB-7961-457C-A9C9-E6919F2B7188/Express%2032BIT/SQLEXPR_x86_ITA.exe http://download.microsoft.com/download/1/6/E/16E343FB-7961-457C-A9C9-E6919F2B7188/Express%2064BIT/SQLEXPR_x64_ITA.exe Non si dispone delle autorizzazioni necessarie per installare SQL Server 2014 Express. Rivolgersi all'amministratore. Errore durante il tentativo di installazione di SQL Server 2014 Express. La versione del sistema operativo corrente non supporta SQL Server 2014 Express. Il sistema operativo corrente non soddisfa i requisiti di livello di Service Pack per SQL Server 2014 Express. Installare il Service Pack più recente dall'Area download Microsoft all'indirizzo http://www.microsoft.com/downloads prima di continuare l'installazione. La versione italiana di SQL Server 2014 Express può essere installata unicamente in un sistema operativo Windows nella stessa lingua. Un'altra istanza del programma di installazione è già in esecuzione. Per continuare, è necessario attendere il completamento di tale istanza. È stata rilevata una versione beta di .NET Framework o SQL Server nel computer. Disinstallare le versioni beta precedenti dei componenti di SQL Server 2014, dei file di supporto di SQL Server o di .NET Framework prima di continuare. Questa versione di SQL Server 2014 Express non è supportata per l'architettura del processore corrente. L'istanza di SQL Server denominata 'SQLEXPRESS' non è un'istanza di SQL Server Express. Impossibile eseguirne l'aggiornamento a SQL Server 2014 Express. L'istanza di SQL Server Express denominata 'SQLEXPRESS' contiene componenti non inclusi in SQL Server 2014 Express. Impossibile eseguire l'aggiornamento di tale istanza in SQL Server 2014 Express. Utilizzare SQL Server 2014 Express with Advanced Services. L'istanza di SQL Server Express denominata 'SQLEXPRESS' è una versione in una lingua diversa rispetto a SQL Server 2014 Express. Impossibile eseguire l'aggiornamento di tale istanza. Impossibile eseguire l'aggiornamento dell'istanza esistente di SQL Server Express (x64 WoW) denominata 'SQLEXPRESS' mediante SQL Server 2014 Express (x64). Disinstallare l'istanza esistente di SQL Server Express e riprovare a installare SQL Server 2014 Express (x64).   

这是product.xml:

                    

我已经从SQL Server 2012 Express软件包复制了SqlExpressChk.exe文件,希望它是相同的(2008和2012版本似乎相同,所以我认为它也适用于2014)。

我删除了package.xml中关于publicKey的部分,因为我不知道它,而且,我认为我不需要它。

在同一个文件中,我插入了自定义参数,首先是在2008和2012版本中,然后进行一些尝试(没有成功)。

有人有这个问题吗? 你是怎么管理它的?

注意 :我在空虚拟机中使用clickOnce部署,因此没有任何类似的冲突。

编辑 :更多的尝试,更多的失败,总是同样的错误! 我正在删除可选的东西,以更好地研究xml的核心,但仍然没有成功..微软有一个sql server 2014快递包吗?

再次编辑 :我发现sql server 2014仍然是预发布版…发布将是4月1日..这可能是一个问题吗?

更新 :我认为问题出在我给安装程序的参数中。 我已经看到msdn的文档为sql server express 2014安装了参数(对于其他版本也是如此,除了一些小差异)。 这些是我的参数:

  Arguments='/q /action=Install /features=SQL /instancename=SQLEXPRESS /securitymode=SQL /sapwd=passwd /sqlsvcaccount="NT Authority\Network Service" /IAcceptSqlServerLicenseTerms /enableranu=1 /AddCurrentUserAsSqlAdmin /hideconsole' 

这些在2008年和2012年运作良好……这里不是……为什么? 错误代码与上面写的相同。

好的,我做到了!!!!

我在这里发布我用过它的文件。

这是文件夹的树:

 \SqlExpress2014 \it -SQLEXPR32_x86_ITA.exe -SQLEXPR_x64_ITA.exe -eula.rtf -package.xml -product.xml -SqlExpressChk.exe 

这是product.xml:

                    

这是package.xml:

                                                                                                                                                                        SQL Server 2014 Express it http://download.microsoft.com/download/1/6/E/16E343FB-7961-457C-A9C9-E6919F2B7188/Express%2032BIT/SQLEXPR_x86_ITA.exe http://download.microsoft.com/download/1/6/E/16E343FB-7961-457C-A9C9-E6919F2B7188/Express%2064BIT/SQLEXPR_x64_ITA.exe Non si dispone delle autorizzazioni necessarie per installare SQL Server 2014 Express. Rivolgersi all'amministratore. Errore durante il tentativo di installazione di SQL Server 2014 Express. La versione del sistema operativo corrente non supporta SQL Server 2014 Express. Il sistema operativo corrente non soddisfa i requisiti di livello di Service Pack per SQL Server 2014 Express. Installare il Service Pack più recente dall'Area download Microsoft all'indirizzo http://www.microsoft.com/downloads prima di continuare l'installazione. La versione italiana di SQL Server 2014 Express può essere installata unicamente in un sistema operativo Windows nella stessa lingua. Un'altra istanza del programma di installazione è già in esecuzione. Per continuare, è necessario attendere il completamento di tale istanza. È stata rilevata una versione beta di .NET Framework o SQL Server nel computer. Disinstallare le versioni beta precedenti dei componenti di SQL Server 2014, dei file di supporto di SQL Server o di .NET Framework prima di continuare. Questa versione di SQL Server 2014 Express non è supportata per l'architettura del processore corrente. L'istanza di SQL Server denominata 'SQLEXPRESS' non è un'istanza di SQL Server Express. Impossibile eseguirne l'aggiornamento a SQL Server 2014 Express. L'istanza di SQL Server Express denominata 'SQLEXPRESS' contiene componenti non inclusi in SQL Server 2014 Express. Impossibile eseguire l'aggiornamento di tale istanza in SQL Server 2014 Express. Utilizzare SQL Server 2014 Express with Advanced Services. L'istanza di SQL Server Express denominata 'SQLEXPRESS' è una versione in una lingua diversa rispetto a SQL Server 2014 Express. Impossibile eseguire l'aggiornamento di tale istanza. Impossibile eseguire l'aggiornamento dell'istanza esistente di SQL Server Express (x64 WoW) denominata 'SQLEXPRESS' mediante SQL Server 2014 Express (x64). Disinstallare l'istanza esistente di SQL Server Express e riprovare a installare SQL Server 2014 Express (x64).   

SqlExpressChk.exe与您在C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ yourVersion \ Bootstrapper \ Packages中的SqlServer 2012/2008 Express软件包中可以找到的文件相同。

SQLEXPR32_x86_ITA.exe和SQLEXPR_x64_ITA.exe:我只是从microsoft站点下载它们,但如果您使用在线安装,则不需要它们。

重命名后,eula.rtf就是这个 。

您应该做的唯一事情是更改文件package.xml中的命令参数。 希望这对某些人有用。 🙂

谢谢,这非常有用。 如果有人需要英语SQL Server Express 2014等效:

文件夹结构:

 \SqlExpress2014 \en -SQLEXPR32_x86_ENU.exe -SQLEXPR_x64_ENU.exe -eula.rtf -package.xml -product.xml -SqlExpressChk.exe 

product.xml:

                    

package.xml中:

                                                                                                                                                                        SQL Server 2014 Express en http://download.microsoft.com/download/E/A/E/EAE6F7FC-767A-4038-A954-49B8B05D04EB/Express%2032BIT/SQLEXPR_x86_ENU.exe http://download.microsoft.com/download/E/A/E/EAE6F7FC-767A-4038-A954-49B8B05D04EB/Express%2064BIT/SQLEXPR_x64_ENU.exe You do not have the permissions required to install SQL Server 2014 Express. Please contact your administrator. An error occurred attempting to install SQL Server 2014 Express. The current operating system version does not support SQL Server 2014 Express. The current operating system does not meet Service Pack level requirements for SQL Server 2014 Express. Install the most recent Service Pack from the Microsoft download center at http://www.microsoft.com/downloads before continuing setup. The English version of SQL Server 2014 Express can only be installed on a Windows operating system of the same language. Another instance of setup is already running. The running instance must complete before this setup can proceed. A beta version of the .NET Framework or SQL Server was detected on the computer. Uninstall any previous beta versions of SQL Server 2014 components, SQL Server Support Files, or .NET Framework before continuing. This version of SQL Server 2014 Express is not supported for the current processor architecture. The instance of SQL Server named 'SQLEXPRESS' is a not an instance of SQL Server Express. It cannot be upgraded to SQL Server 2014 Express. The instance of SQL Server Express named 'SQLEXPRESS' contains components that are not included in SQL Server 2014 Express. SQL Server 2014 Express cannot upgrade this instance. Please use SQL Server 2014 Express with Advanced Services instead. The instance of SQL Server Express named 'SQLEXPRESS' is a different language version than this SQL Server 2014 Express. SQL Server 2014 Express cannot upgrade this instance. SQL Server 2014 Express (x64) cannot upgrade the existing instance of SQL Server Express (x64 WoW) named 'SQLEXPRESS'. Uninstall this instance of SQL Server Express and retry installing SQL Server 2014 Express (x64).