我可以修改package.xml文件在SQL引导程序安装一个名为SQL Server实例
-
25-09-2019 - |
题
我想用SqlExpress2008引导程序对Windows7的全新安装,我不想用默认的SQLEXPRESS实例。
我试图编辑位于package.xml文件: C:\ Program Files文件\微软
的SDK \的Windows \ v7.0A \引导程序\软件包\ SqlExpress2008 \ EN \ package.xml中
和更新命令参数INSTANCENAME = <强> CUSTOMINSTANCE 强>
<Command PackageFile="SQLEXPR32_x86_ENU.EXE"
Arguments='/q /hideconsole /action=Install /features=SQL /instancename="CUSTOMINSTANCE" /enableranu=1 /sqlsvcaccount="NT Authority\Network Service" /AddCurrentUserAsSqlAdmin /skiprules=RebootRequiredCheck'
EstimatedInstalledBytes="225000000"
EstimatedInstallSeconds="420">
不过遗憾的是它仍然创建默认的 SQLEXPRESS 不会 CUSTOMINSTANCE
在威克斯标记如下:
<sql:SqlDatabase
Id="SqlDatabaseCore"
ConfirmOverwrite="yes"
ContinueOnError="no"
CreateOnInstall="yes"
CreateOnReinstall="no"
CreateOnUninstall="no"
Database="MyDatabase"
DropOnInstall="no"
DropOnReinstall="no"
DropOnUninstall="no"
Instance="[SQLINSTANCE]"
Server="[SQLSERVER]">
<sql:SqlFileSpec
Id="SqlFileSpecCore"
Filename="[CommonAppDataFolder]MyCompany\Database\MyDatabase.mdf"
Name="MyDatabase" />
<sql:SqlLogFileSpec
Id="SqlLogFileSpecCore"
Filename="[CommonAppDataFolder]MyCompany\Database\MyDatabase.ldf"
Name="MyDatabaseLog" />
<Property Id='SQLSERVER'>.</Property>
<Property Id='SQLINSTANCE'>CUSTOMINSTANCE</Property>
这是标准的方式来做到这一点?
解决方案
我不知道一个标准,但我们通过了新的实例名在命令行上的SQLExpress安装可执行文件。首先,SQLEXPRADV_x86_ENU.exe文件解压缩到一个临时目录,
string workingDir = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string pathToSQLSetupTempDirectory = workingDir + Path.DirectorySeparatorChar + "sqlsetup";
if (!System.IO.Directory.Exists(pathToSQLSetupTempDirectory))
{
System.IO.Directory.CreateDirectory(pathToSQLSetupTempDirectory);
}
string path = Path.GetFullPath(workingDir + Path.DirectorySeparatorChar + "SQLEXPRADV_x86_ENU.exe");
string args = "/Q /X:" + pathToSQLSetupTempDirectory;
然后,构造的命令行参数和运行提取的Setup.exe文件。为了防止安装的管理工具,添加“/功能= SQL”到命令行参数:
path = pathToSQLSetupTempDirectory + Path.DirectorySeparatorChar + "Setup.exe";
args = "/QUIET /Action=Install /Features=SQL,Tools /InstanceName=" + instanceName +
" /SECURITYMODE=SQL /TCPENABLED=1 /SAPWD=" + sqlSAPswd + " /SQLSYSADMINACCOUNTS=\"Builtin\\Administrators\" /SQLSVCACCOUNT=\"NT AUTHORITY\\NETWORK SERVICE\"";
http://msdn.microsoft.com/en-us/library /ms144259.aspx 有更多的关于所支持的参数。
其他提示
是的,这是做了正确的方式,只是确保你在所有发生更改实例名称(参数86和x64参数)
不隶属于 StackOverflow