本文介绍了以ClickOnce先决条件安装SQL Server 2014 Express软件包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm using clickOnce and deploying an installer with it.

我尝试过各种设置。使用SQL Server 2008 Express和SQL Server 2012 Express作为前提条件都是可以的(我已经下载它们并设置了从同一路径应用程序中点击下载先决条件的选项)。

I have tried various settings. Using SQL Server 2008 Express and SQL Server 2012 Express as prerequisite is all ok (I've dowloaded them and set the option of clickonce "download prerequisites from the same path of app").

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

Now I'm trying to do the same thing with SQL Server 2014 Express.

由于SQL Server 2014 Express软件包不是在2008年和2012年版本中完成的,所以我试图创建它。

Since the SQL Server 2014 Express package isn't alredy done line 2008 and 2012 versiones, I'm trying to create it.

我已经完成了,似乎有效,但安装时却出现错误号 -2054422506 。这是一个非常通用的错误,我不明白。

I have done and it seems to work, but while installing it gives error number -2054422506. It is a very generic error and I don't understand it.

出现一个弹出窗口,说安装被停止,因为安装SQL Server Express 2014是一个错误,查看日志了解更多信息。
日志只说:

It appears a pop up saying the installation is stopped because it is an error installing SQL Server Express 2014 and to look the log for more infos.The log only says:

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文件中弄乱了一些。

So, I've tried to install SQL Server 2014 Express manually, without ClickOnce, and it works. So I think I've made some mess in the xml file of the package.

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

My package is so build (in 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文件:

This is my package.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<Package
  xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
  Name="DisplayName"
  Culture="Culture"
  LicenseAgreement="eula.rtf">

  <PackageFiles CopyAllPackageFiles="false">
    <PackageFile Name="SQLEXPR32_x86_ITA.EXE"/>
    <PackageFile Name="SQLEXPR_x64_ITA.EXE" />
    <PackageFile Name="eula.rtf"/>
  </PackageFiles>

  <InstallChecks>
    <ExternalCheck Property="SQLExpressChk" PackageFile="SqlExpressChk.exe" Arguments="11.0.2100 1040"/>
  </InstallChecks>

  <Commands Reboot="Defer">
    <!-- Defines a new installation (x86)
    /skiprules=RebootRequiredCheck /enableranu=1 /AddCurrentUserAsSqlAdmin /hideconsole
    -->
    <Command PackageFile="SQLEXPR32_x86_ITA.EXE"
             Arguments='/q /action=Install /features=SQL /instancename=SQLEXPRESS /securitymode=SQL /sapwd=passwd  /sqlsvcaccount="NT Authority\Network Service"
             /IAcceptSqlServerLicenseTerms  /SQLSVCPASSWORD="passwd" /SQLSYSADMINACCOUNTS="NT Authority\Network Service" /AGTSVCACCOUNT="NT AUTHORITY\Network Service"'
         EstimatedInstalledBytes="225000000"
         EstimatedInstallSeconds="420">
      <InstallConditions>
        <FailIf Property="VersionNT" Compare="ValueNotExists" String="InvalidPlatformOS"/>
        <FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.0.0" String="InvalidPlatformOS"/>
        <FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.0.2" String="InvalidPlatformOSServicePack"/>
        <FailIf Property="VersionNT" Compare="VersionEqualTo" Value="6.1.0" String="InvalidPlatformOSServicePack"/>
        <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
        <FailIf Property="SQLExpressChk" Compare="ValueEqualTo" Value="-1" String="InvalidUpgradeNotExpress"/>
        <FailIf Property="SQLExpressChk" Compare="ValueEqualTo" Value="-2" String="InvalidUpgradeNotExpressCore"/>
        <FailIf Property="SQLExpressChk" Compare="ValueEqualTo" Value="-3" String="InvalidUpgradeLanguage"/>
        <FailIf Property="SQLExpressChk" Compare="ValueEqualTo" Value="-4" String="InvalidUpgradeWoW"/>
        <FailIf Property="SQLExpressChk" Compare="ValueLessThan" Value="-4" String="GeneralFailure"/>
        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>
        <BypassIf Property="SQLExpressChk" Compare="ValueNotEqualTo" Value="1"/>
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <!-- 0x84BE0BC2 (1214,3010) -->
        <ExitCode Value="-2067919934" Result="FailReboot"/>
        <!-- 0x84C10BC2 (1217,3010) -->
        <ExitCode Value="-2067723326" Result="FailReboot"/>
        <!-- 0x84BE0007 (1214,7) -->
        <ExitCode Value="-2067922937" Result="Fail" String="AdminRequired"/>
        <!-- 0x84C4001F (1220,31) -->
        <ExitCode Value="-2067529697" Result="Fail" String="AdminRequired"/>
        <!-- 0x84BE0001 (1214,1)-->
        <ExitCode Value="-2067922943" Result="Fail" String="InvalidPlatformOSServicePack"/>
        <!-- 0x84C4000E (1220,14) -->
        <ExitCode Value="-2067529714" Result="Fail" String="InvalidPlatformOSLanguage"/>
        <!-- 0x84C4000B (1220,11) -->
        <ExitCode Value="-2067529717" Result="Fail" String="AnotherInstanceRunning"/>
        <!-- 0x84BE01F8 (1214,504) -->
        <ExitCode Value="-2067922440" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE01FA (1214,506) -->
        <ExitCode Value="-2067922438" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE0202 (1214,514) -->
        <ExitCode Value="-2067922430" Result="Fail" String="InvalidPlatformArchitecture"/>
        <!-- 0x84BE0203 (1214,515) -->
        <ExitCode Value="-2067922429" Result="Fail" String="InvalidPlatformArchitecture"/>
        <ExitCode Value="216" Result="Fail" String="InvalidPlatformArchitecture"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>

    <!-- Defines an upgrade installation (x86) -->
    <Command PackageFile="SQLEXPR32_x86_ITA.EXE"
         Arguments="/q /hideconsole /action=Upgrade /instancename=SQLEXPRESS /securitymode=SQL /sapwd=passwd /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck"
         EstimatedInstalledBytes="225000000"
         EstimatedInstallSeconds="420">
      <InstallConditions>
        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>
        <BypassIf Property="SQLExpressChk" Compare="ValueNotEqualTo" Value="2"/>
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <!-- 0x84BE0BC2 (1214,3010) -->
        <ExitCode Value="-2067919934" Result="FailReboot"/>
        <!-- 0x84C10BC2 (1217,3010) -->
        <ExitCode Value="-2067723326" Result="FailReboot"/>
        <!-- 0x84BE0007 (1214,7) -->
        <ExitCode Value="-2067922937" Result="Fail" String="AdminRequired"/>
        <!-- 0x84C4001F (1220,31) -->
        <ExitCode Value="-2067529697" Result="Fail" String="AdminRequired"/>
        <!-- 0x84BE0001 (1214,1)-->
        <ExitCode Value="-2067922943" Result="Fail" String="InvalidPlatformOSServicePack"/>
        <!-- 0x84C4000E (1220,14) -->
        <ExitCode Value="-2067529714" Result="Fail" String="InvalidPlatformOSLanguage"/>
        <!-- 0x84C4000B (1220,11) -->
        <ExitCode Value="-2067529717" Result="Fail" String="AnotherInstanceRunning"/>
        <!-- 0x84BE01F8 (1214,504) -->
        <ExitCode Value="-2067922440" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE01FA (1214,506) -->
        <ExitCode Value="-2067922438" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE0202 (1214,514) -->
        <ExitCode Value="-2067922430" Result="Fail" String="InvalidPlatformArchitecture"/>
        <!-- 0x84BE0203 (1214,515) -->
        <ExitCode Value="-2067922429" Result="Fail" String="InvalidPlatformArchitecture"/>
        <ExitCode Value="216" Result="Fail" String="InvalidPlatformArchitecture"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>

    <!-- Defines a new installation (amd64) -->
    <Command PackageFile="SQLEXPR_x64_ITA.EXE"
                 Arguments='/q /hideconsole /action=Install /features=SQL /instancename=SQLEXPRESS /securitymode=SQL /sapwd=passwd /enableranu=1 /sqlsvcaccount="NT Authority\Network Service" /AddCurrentUserAsSqlAdmin /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck'
         EstimatedInstalledBytes="225000000"
         EstimatedInstallSeconds="420">
      <InstallConditions>
        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="amd64"/>
        <BypassIf Property="SQLExpressChk" Compare="ValueNotEqualTo" Value="1"/>
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <!-- 0x84BE0BC2 (1214,3010) -->
        <ExitCode Value="-2067919934" Result="FailReboot"/>
        <!-- 0x84C10BC2 (1217,3010) -->
        <ExitCode Value="-2067723326" Result="FailReboot"/>
        <!-- 0x84BE0007 (1214,7) -->
        <ExitCode Value="-2067922937" Result="Fail" String="AdminRequired"/>
        <!-- 0x84C4001F (1220,31) -->
        <ExitCode Value="-2067529697" Result="Fail" String="AdminRequired"/>
        <!-- 0x84BE0001 (1214,1)-->
        <ExitCode Value="-2067922943" Result="Fail" String="InvalidPlatformOSServicePack"/>
        <!-- 0x84C4000E (1220,14) -->
        <ExitCode Value="-2067529714" Result="Fail" String="InvalidPlatformOSLanguage"/>
        <!-- 0x84C4000B (1220,11) -->
        <ExitCode Value="-2067529717" Result="Fail" String="AnotherInstanceRunning"/>
        <!-- 0x84BE01F8 (1214,504) -->
        <ExitCode Value="-2067922440" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE01FA (1214,506) -->
        <ExitCode Value="-2067922438" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE0202 (1214,514) -->
        <ExitCode Value="-2067922430" Result="Fail" String="InvalidPlatformArchitecture"/>
        <!-- 0x84BE0203 (1214,515) -->
        <ExitCode Value="-2067922429" Result="Fail" String="InvalidPlatformArchitecture"/>
        <ExitCode Value="216" Result="Fail" String="InvalidPlatformArchitecture"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>

    <!-- Defines an upgrade installation (amd64) -->
    <Command PackageFile="SQLEXPR_x64_ITA.EXE"
         Arguments="/q /hideconsole /action=Upgrade /instancename=SQLEXPRESS /securitymode=SQL /sapwd=passwd /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck"
         EstimatedInstalledBytes="225000000"
         EstimatedInstallSeconds="420">
      <InstallConditions>
        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="amd64"/>
        <BypassIf Property="SQLExpressChk" Compare="ValueNotEqualTo" Value="2"/>
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <!-- 0x84BE0BC2 (1214,3010) -->
        <ExitCode Value="-2067919934" Result="FailReboot"/>
        <!-- 0x84C10BC2 (1217,3010) -->
        <ExitCode Value="-2067723326" Result="FailReboot"/>
        <!-- 0x84BE0007 (1214,7) -->
        <ExitCode Value="-2067922937" Result="Fail" String="AdminRequired"/>
        <!-- 0x84C4001F (1220,31) -->
        <ExitCode Value="-2067529697" Result="Fail" String="AdminRequired"/>
        <!-- 0x84BE0001 (1214,1)-->
        <ExitCode Value="-2067922943" Result="Fail" String="InvalidPlatformOSServicePack"/>
        <!-- 0x84C4000E (1220,14) -->
        <ExitCode Value="-2067529714" Result="Fail" String="InvalidPlatformOSLanguage"/>
        <!-- 0x84C4000B (1220,11) -->
        <ExitCode Value="-2067529717" Result="Fail" String="AnotherInstanceRunning"/>
        <!-- 0x84BE01F8 (1214,504) -->
        <ExitCode Value="-2067922440" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE01FA (1214,506) -->
        <ExitCode Value="-2067922438" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE0202 (1214,514) -->
        <ExitCode Value="-2067922430" Result="Fail" String="InvalidPlatformArchitecture"/>
        <!-- 0x84BE0203 (1214,515) -->
        <ExitCode Value="-2067922429" Result="Fail" String="InvalidPlatformArchitecture"/>
        <ExitCode Value="216" Result="Fail" String="InvalidPlatformArchitecture"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>

  </Commands>

  <Strings>
    <String Name="DisplayName">SQL Server 2014 Express</String>
    <String Name="Culture">it</String>
    <String Name="SqlExpr32Exe">http://download.microsoft.com/download/1/6/E/16E343FB-7961-457C-A9C9-E6919F2B7188/Express%2032BIT/SQLEXPR_x86_ITA.exe</String>
    <String Name="SqlExpr64Exe">http://download.microsoft.com/download/1/6/E/16E343FB-7961-457C-A9C9-E6919F2B7188/Express%2064BIT/SQLEXPR_x64_ITA.exe</String>
    <String Name="AdminRequired">Non si dispone delle autorizzazioni necessarie per installare SQL Server 2014 Express. Rivolgersi all'amministratore.</String>
    <String Name="GeneralFailure">Errore durante il tentativo di installazione di SQL Server 2014 Express.</String>
    <String Name="InvalidPlatformOS">La versione del sistema operativo corrente non supporta SQL Server 2014 Express.</String>
    <String Name="InvalidPlatformOSServicePack">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.</String>
    <String Name="InvalidPlatformOSLanguage">La versione italiana di SQL Server 2014 Express può essere installata unicamente in un sistema operativo Windows nella stessa lingua.</String>
    <String Name="AnotherInstanceRunning">Un'altra istanza del programma di installazione è già in esecuzione. Per continuare, è necessario attendere il completamento di tale istanza.</String>
    <String Name="BetaComponentsFailure">È 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.</String>
    <String Name="InvalidPlatformArchitecture">Questa versione di SQL Server 2014 Express non è supportata per l'architettura del processore corrente.</String>
    <String Name="InvalidUpgradeNotExpress">L'istanza di SQL Server denominata 'SQLEXPRESS' non è un'istanza di SQL Server Express. Impossibile eseguirne l'aggiornamento a SQL Server 2014 Express.</String>
    <String Name="InvalidUpgradeNotExpressCore">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.</String>
    <String Name="InvalidUpgradeLanguage">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.</String>
    <String Name="InvalidUpgradeWoW">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).</String>
  </Strings>
</Package>

这是product.xml:

And this is the product.xml:

<?xml version="1.0" encoding="utf-8"?>
<!-- SQL Express 2014 VS Bootstrapper : product.xml : Language neutral information -->
<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Microsoft.SqlServer.Express.12.0">
  <RelatedProducts>
    <EitherProducts>
      <DependsOnProduct Code=".NETFramework,Version=v4.5" />
      <DependsOnProduct Code=".NETFramework,Version=v4.0" />
    </EitherProducts>
    <!-- Also depends on MSI4.5 or greater, which is included on all of the OS levels supported (see package.xml) -->
    <IncludesProduct Code="Microsoft.Sql.Server.Express.1.0" />
    <IncludesProduct Code="Microsoft.Sql.Server.Express.9.2" />
    <IncludesProduct Code="Microsoft.Sql.Server.Express.10.0" />
    <IncludesProduct Code="Microsoft.SqlServer.Express.10.5" />
    <IncludesProduct Code="Microsoft.SqlServer.Express.11.0" />
  </RelatedProducts>
  <PackageFiles>
    <PackageFile Name="SqlExpressChk.exe" />
  </PackageFiles>
</Product>

我从SQL Server 2012 Express包中复制了SqlExpressChk.exe文件,希望它是相同(2008年和2012年版本似乎相同,所以我也应该在2014年)。

I've copied the SqlExpressChk.exe file from the SQL Server 2012 Express package, hoping it is the same (2008 and 2012 versions seems the same, so I supposed it also for the 2014).

我已经删除了package.xml中关于publicKey的部分,因为我不知道,进一步,我想我不需要它。

I've delete the part in package.xml about the publicKey, since I don't know it and, further, I think I don't need it.

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

In the same file, I've inserted custom parameters, first like in the 2008 and 2012 versions, then doing some attempts (without success).

有没有人有这个问题?你是如何管理的?

Did anyone have this problem? How did you have manage it?

注意:我使用我的clickOnce部署在一个空的虚拟机中,所以没有冲突是类似的。

NOTE: I'm using my clickOnce deploy in an empty virtual machine, so there aren't any conflicts o something similar.

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

EDIT: more attempts, more failures, always the same error! I'm deleting the optional stuff to study better the core of the xml, but still no success.. does microsoft have a package of sql server 2014 express?

重新编辑:我发现sql server 2014仍然是一个预发行版...发布将是四月初。这可能是一个问题吗?

EDIT AGAIN: I've discovered that sql server 2014 is still a pre-release... the release will be the 1st april.. does this can be a problem??

更新:我认为问题出在我给安装程序的参数中。我已经看到的msdn包含sql server express 2014的安装参数(与其他版本相同,除了一些小差异)。这些是我的参考:

UPDATE: I think the problem is in the parameter I'm giving to the installer. I have see the docs of msdn abount the installing parameters for sql server express 2014 (the same for the other versions, except for some little diffs). These are my paramenters:

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

这些工作在2008年和2012年...这里不是...为什么?错误代码与上述相同。

These work well on 2008 and 2012... here not...why? The error code is the same written above.

推荐答案

好的,我做完了!!!!

Ok, I've done it!!!!

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

I post here the files I've used for it.

这是文件夹的树:

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

这是product.xml:

This is the product.xml:

<?xml version="1.0" encoding="utf-8"?>
<!-- SQL Express 2014 VS Bootstrapper : product.xml : Language neutral information -->
<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Microsoft.SqlServer.Express.12.0">
  <RelatedProducts>
    <EitherProducts>
      <DependsOnProduct Code=".NETFramework,Version=v4.5" />
      <DependsOnProduct Code=".NETFramework,Version=v4.0" />
    </EitherProducts>
    <!-- Also depends on MSI4.5 or greater, which is included on all of the OS levels supported (see package.xml) -->
    <IncludesProduct Code="Microsoft.Sql.Server.Express.1.0" />
    <IncludesProduct Code="Microsoft.Sql.Server.Express.9.2" />
    <IncludesProduct Code="Microsoft.Sql.Server.Express.10.0" />
    <IncludesProduct Code="Microsoft.SqlServer.Express.10.5" />
    <IncludesProduct Code="Microsoft.SqlServer.Express.11.0" />
  </RelatedProducts>
  <PackageFiles>
    <PackageFile Name="SqlExpressChk.exe" />
  </PackageFiles>
</Product>

这是package.xml:

And this is the package.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Package
  xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
  Name="DisplayName"
  Culture="Culture"
  LicenseAgreement="eula.rtf">

  <PackageFiles CopyAllPackageFiles="false">
    <PackageFile Name="SQLEXPR32_x86_ITA.EXE" HomeSite="SqlExpr32Exe" PublicKey="3082010A0282010100E8AF5CA2200DF8287CBC057B7FADEEEB76AC28533F3ADB407DB38E33E6573FA551153454A5CFB48BA93FA837E12D50ED35164EEF4D7ADB137688B02CF0595CA9EBE1D72975E41B85279BF3F82D9E41362B0B40FBBE3BBAB95C759316524BCA33C537B0F3EB7EA8F541155C08651D2137F02CBA220B10B1109D772285847C4FB91B90B0F5A3FE8BF40C9A4EA0F5C90A21E2AAE3013647FD2F826A8103F5A935DC94579DFB4BD40E82DB388F12FEE3D67A748864E162C4252E2AAE9D181F0E1EB6C2AF24B40E50BCDE1C935C49A679B5B6DBCEF9707B280184B82A29CFBFA90505E1E00F714DFDAD5C238329EBC7C54AC8E82784D37EC6430B950005B14F6571C50203010001"/>
    <PackageFile Name="SQLEXPR_x64_ITA.EXE" HomeSite="SqlExpr64Exe" PublicKey="3082010A0282010100E8AF5CA2200DF8287CBC057B7FADEEEB76AC28533F3ADB407DB38E33E6573FA551153454A5CFB48BA93FA837E12D50ED35164EEF4D7ADB137688B02CF0595CA9EBE1D72975E41B85279BF3F82D9E41362B0B40FBBE3BBAB95C759316524BCA33C537B0F3EB7EA8F541155C08651D2137F02CBA220B10B1109D772285847C4FB91B90B0F5A3FE8BF40C9A4EA0F5C90A21E2AAE3013647FD2F826A8103F5A935DC94579DFB4BD40E82DB388F12FEE3D67A748864E162C4252E2AAE9D181F0E1EB6C2AF24B40E50BCDE1C935C49A679B5B6DBCEF9707B280184B82A29CFBFA90505E1E00F714DFDAD5C238329EBC7C54AC8E82784D37EC6430B950005B14F6571C50203010001" />
    <PackageFile Name="eula.rtf"/>
  </PackageFiles>

  <InstallChecks>
    <ExternalCheck Property="SQLExpressChk" PackageFile="SqlExpressChk.exe" Arguments="12.0.2000 1040"/>
  </InstallChecks>

  <Commands Reboot="Defer">
    <!-- Defines a new installation (x86)
    /skiprules=RebootRequiredCheck
    /SQLSVCPASSWORD="123456" /SQLSYSADMINACCOUNTS="NT Authority\Network Service" /AGTSVCACCOUNT="NT AUTHORITY\Network Service"
    -->
    <Command PackageFile="SQLEXPR32_x86_ITA.EXE"
             Arguments='/q /action=Install /features=SQL /instancename=SQLEXPRESS /securitymode=SQL /sapwd=123456 /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck '
         EstimatedInstalledBytes="325000000"
         EstimatedInstallSeconds="520">
      <InstallConditions>
        <FailIf Property="VersionNT" Compare="ValueNotExists" String="InvalidPlatformOS"/>
        <FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.0.0" String="InvalidPlatformOS"/>
        <FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.0.2" String="InvalidPlatformOSServicePack"/>
        <FailIf Property="VersionNT" Compare="VersionEqualTo" Value="6.1.0" String="InvalidPlatformOSServicePack"/>
        <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
        <FailIf Property="SQLExpressChk" Compare="ValueEqualTo" Value="-1" String="InvalidUpgradeNotExpress"/>
        <FailIf Property="SQLExpressChk" Compare="ValueEqualTo" Value="-2" String="InvalidUpgradeNotExpressCore"/>
        <FailIf Property="SQLExpressChk" Compare="ValueEqualTo" Value="-3" String="InvalidUpgradeLanguage"/>
        <FailIf Property="SQLExpressChk" Compare="ValueEqualTo" Value="-4" String="InvalidUpgradeWoW"/>
        <FailIf Property="SQLExpressChk" Compare="ValueLessThan" Value="-4" String="GeneralFailure"/>
        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>
        <BypassIf Property="SQLExpressChk" Compare="ValueNotEqualTo" Value="1"/>
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <!-- 0x84BE0BC2 (1214,3010) -->
        <ExitCode Value="-2067919934" Result="FailReboot"/>
        <!-- 0x84C10BC2 (1217,3010) -->
        <ExitCode Value="-2067723326" Result="FailReboot"/>
        <!-- 0x84BE0007 (1214,7) -->
        <ExitCode Value="-2067922937" Result="Fail" String="AdminRequired"/>
        <!-- 0x84C4001F (1220,31) -->
        <ExitCode Value="-2067529697" Result="Fail" String="AdminRequired"/>
        <!-- 0x84BE0001 (1214,1)-->
        <ExitCode Value="-2067922943" Result="Fail" String="InvalidPlatformOSServicePack"/>
        <!-- 0x84C4000E (1220,14) -->
        <ExitCode Value="-2067529714" Result="Fail" String="InvalidPlatformOSLanguage"/>
        <!-- 0x84C4000B (1220,11) -->
        <ExitCode Value="-2067529717" Result="Fail" String="AnotherInstanceRunning"/>
        <!-- 0x84BE01F8 (1214,504) -->
        <ExitCode Value="-2067922440" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE01FA (1214,506) -->
        <ExitCode Value="-2067922438" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE0202 (1214,514) -->
        <ExitCode Value="-2067922430" Result="Fail" String="InvalidPlatformArchitecture"/>
        <!-- 0x84BE0203 (1214,515) -->
        <ExitCode Value="-2067922429" Result="Fail" String="InvalidPlatformArchitecture"/>
        <ExitCode Value="216" Result="Fail" String="InvalidPlatformArchitecture"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>

    <!-- Defines an upgrade installation (x86) -->
    <Command PackageFile="SQLEXPR32_x86_ITA.EXE"
         Arguments="/q /hideconsole /action=Upgrade /instancename=SQLEXPRESS /securitymode=SQL /sapwd=123456 /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck"
         EstimatedInstalledBytes="225000000"
         EstimatedInstallSeconds="420">
      <InstallConditions>
        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>
        <BypassIf Property="SQLExpressChk" Compare="ValueNotEqualTo" Value="2"/>
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <!-- 0x84BE0BC2 (1214,3010) -->
        <ExitCode Value="-2067919934" Result="FailReboot"/>
        <!-- 0x84C10BC2 (1217,3010) -->
        <ExitCode Value="-2067723326" Result="FailReboot"/>
        <!-- 0x84BE0007 (1214,7) -->
        <ExitCode Value="-2067922937" Result="Fail" String="AdminRequired"/>
        <!-- 0x84C4001F (1220,31) -->
        <ExitCode Value="-2067529697" Result="Fail" String="AdminRequired"/>
        <!-- 0x84BE0001 (1214,1)-->
        <ExitCode Value="-2067922943" Result="Fail" String="InvalidPlatformOSServicePack"/>
        <!-- 0x84C4000E (1220,14) -->
        <ExitCode Value="-2067529714" Result="Fail" String="InvalidPlatformOSLanguage"/>
        <!-- 0x84C4000B (1220,11) -->
        <ExitCode Value="-2067529717" Result="Fail" String="AnotherInstanceRunning"/>
        <!-- 0x84BE01F8 (1214,504) -->
        <ExitCode Value="-2067922440" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE01FA (1214,506) -->
        <ExitCode Value="-2067922438" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE0202 (1214,514) -->
        <ExitCode Value="-2067922430" Result="Fail" String="InvalidPlatformArchitecture"/>
        <!-- 0x84BE0203 (1214,515) -->
        <ExitCode Value="-2067922429" Result="Fail" String="InvalidPlatformArchitecture"/>
        <ExitCode Value="216" Result="Fail" String="InvalidPlatformArchitecture"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>

    <!-- Defines a new installation (amd64) -->
    <Command PackageFile="SQLEXPR_x64_ITA.EXE"
             Arguments='/q /action=Install /features=SQL /instancename=SQLEXPRESS /securitymode=SQL /sapwd=123456 /IAcceptSqlServerLicenseTerms'
             EstimatedInstalledBytes="225000000"
         EstimatedInstallSeconds="420">
      <InstallConditions>
        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="amd64"/>
        <BypassIf Property="SQLExpressChk" Compare="ValueNotEqualTo" Value="1"/>
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <!-- 0x84BE0BC2 (1214,3010) -->
        <ExitCode Value="-2067919934" Result="FailReboot"/>
        <!-- 0x84C10BC2 (1217,3010) -->
        <ExitCode Value="-2067723326" Result="FailReboot"/>
        <!-- 0x84BE0007 (1214,7) -->
        <ExitCode Value="-2067922937" Result="Fail" String="AdminRequired"/>
        <!-- 0x84C4001F (1220,31) -->
        <ExitCode Value="-2067529697" Result="Fail" String="AdminRequired"/>
        <!-- 0x84BE0001 (1214,1)-->
        <ExitCode Value="-2067922943" Result="Fail" String="InvalidPlatformOSServicePack"/>
        <!-- 0x84C4000E (1220,14) -->
        <ExitCode Value="-2067529714" Result="Fail" String="InvalidPlatformOSLanguage"/>
        <!-- 0x84C4000B (1220,11) -->
        <ExitCode Value="-2067529717" Result="Fail" String="AnotherInstanceRunning"/>
        <!-- 0x84BE01F8 (1214,504) -->
        <ExitCode Value="-2067922440" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE01FA (1214,506) -->
        <ExitCode Value="-2067922438" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE0202 (1214,514) -->
        <ExitCode Value="-2067922430" Result="Fail" String="InvalidPlatformArchitecture"/>
        <!-- 0x84BE0203 (1214,515) -->
        <ExitCode Value="-2067922429" Result="Fail" String="InvalidPlatformArchitecture"/>
        <ExitCode Value="216" Result="Fail" String="InvalidPlatformArchitecture"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>

    <!-- Defines an upgrade installation (amd64) -->
    <Command PackageFile="SQLEXPR_x64_ITA.EXE"
         Arguments="/q /hideconsole /action=Upgrade /instancename=SQLEXPRESS /securitymode=SQL /sapwd=123456 /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck"
         EstimatedInstalledBytes="225000000"
         EstimatedInstallSeconds="420">
      <InstallConditions>
        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="amd64"/>
        <BypassIf Property="SQLExpressChk" Compare="ValueNotEqualTo" Value="2"/>
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <!-- 0x84BE0BC2 (1214,3010) -->
        <ExitCode Value="-2067919934" Result="FailReboot"/>
        <!-- 0x84C10BC2 (1217,3010) -->
        <ExitCode Value="-2067723326" Result="FailReboot"/>
        <!-- 0x84BE0007 (1214,7) -->
        <ExitCode Value="-2067922937" Result="Fail" String="AdminRequired"/>
        <!-- 0x84C4001F (1220,31) -->
        <ExitCode Value="-2067529697" Result="Fail" String="AdminRequired"/>
        <!-- 0x84BE0001 (1214,1)-->
        <ExitCode Value="-2067922943" Result="Fail" String="InvalidPlatformOSServicePack"/>
        <!-- 0x84C4000E (1220,14) -->
        <ExitCode Value="-2067529714" Result="Fail" String="InvalidPlatformOSLanguage"/>
        <!-- 0x84C4000B (1220,11) -->
        <ExitCode Value="-2067529717" Result="Fail" String="AnotherInstanceRunning"/>
        <!-- 0x84BE01F8 (1214,504) -->
        <ExitCode Value="-2067922440" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE01FA (1214,506) -->
        <ExitCode Value="-2067922438" Result="Fail" String="BetaComponentsFailure"/>
        <!-- 0x84BE0202 (1214,514) -->
        <ExitCode Value="-2067922430" Result="Fail" String="InvalidPlatformArchitecture"/>
        <!-- 0x84BE0203 (1214,515) -->
        <ExitCode Value="-2067922429" Result="Fail" String="InvalidPlatformArchitecture"/>
        <ExitCode Value="216" Result="Fail" String="InvalidPlatformArchitecture"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>

  </Commands>

  <Strings>
    <String Name="DisplayName">SQL Server 2014 Express</String>
    <String Name="Culture">it</String>
    <String Name="SqlExpr32Exe">http://download.microsoft.com/download/1/6/E/16E343FB-7961-457C-A9C9-E6919F2B7188/Express%2032BIT/SQLEXPR_x86_ITA.exe</String>
    <String Name="SqlExpr64Exe">http://download.microsoft.com/download/1/6/E/16E343FB-7961-457C-A9C9-E6919F2B7188/Express%2064BIT/SQLEXPR_x64_ITA.exe</String>
    <String Name="AdminRequired">Non si dispone delle autorizzazioni necessarie per installare SQL Server 2014 Express. Rivolgersi all'amministratore.</String>
    <String Name="GeneralFailure">Errore durante il tentativo di installazione di SQL Server 2014 Express.</String>
    <String Name="InvalidPlatformOS">La versione del sistema operativo corrente non supporta SQL Server 2014 Express.</String>
    <String Name="InvalidPlatformOSServicePack">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.</String>
    <String Name="InvalidPlatformOSLanguage">La versione italiana di SQL Server 2014 Express può essere installata unicamente in un sistema operativo Windows nella stessa lingua.</String>
    <String Name="AnotherInstanceRunning">Un'altra istanza del programma di installazione è già in esecuzione. Per continuare, è necessario attendere il completamento di tale istanza.</String>
    <String Name="BetaComponentsFailure">È 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.</String>
    <String Name="InvalidPlatformArchitecture">Questa versione di SQL Server 2014 Express non è supportata per l'architettura del processore corrente.</String>
    <String Name="InvalidUpgradeNotExpress">L'istanza di SQL Server denominata 'SQLEXPRESS' non è un'istanza di SQL Server Express. Impossibile eseguirne l'aggiornamento a SQL Server 2014 Express.</String>
    <String Name="InvalidUpgradeNotExpressCore">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.</String>
    <String Name="InvalidUpgradeLanguage">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.</String>
    <String Name="InvalidUpgradeWoW">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).</String>
  </Strings>
</Package>

The SqlExpressChk.exe is the same file you can find in your SqlServer 2012/2008 Express packages in C:\Program Files (x86)\Microsoft SDKs\Windows\yourVersion\Bootstrapper\Packages.

The SqlExpressChk.exe is the same file you can find in your SqlServer 2012/2008 Express packages in C:\Program Files (x86)\Microsoft SDKs\Windows\yourVersion\Bootstrapper\Packages.

The SQLEXPR32_x86_ITA.exe and SQLEXPR_x64_ITA.exe: I’ve simply downloaded them from microsoft site, but you don’t need them if you use the online installation.

The SQLEXPR32_x86_ITA.exe and SQLEXPR_x64_ITA.exe: I've simply downloaded them from microsoft site, but you don't need them if you use the online installation.

The eula.rtf is , after a renaming.

The eula.rtf is this, after a renaming.

The only thing you should do is change the command parameters in the file package.xml. Hoping this can be useful for someone. :)

The only thing you should do is change the command parameters in the file package.xml. Hoping this can be useful for someone. :)

这篇关于以ClickOnce先决条件安装SQL Server 2014 Express软件包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-27 23:52