作为系统帐户运行

我用VS 2008创建了一个新的Visual Studio安装项目。

我用它来安装SQLExpress。 当我在安装程序之外手动完成时,SQLExpress的安装程序正常工作。

但是当我安装时,我在SQL Express中遇到了一个有权限的错误。 我发现这是因为当我从我的安装项目运行它时,SQLExpress进程作为系统帐户运行。

我试图通过自定义操作和通过在通过Process.Start安装模块后运行的C#代码启动该过程。 但是他们都以系统帐户的身份运行SQLExpress进程。

我可以做什么来运行这个过程,而不是当前登录的用户?

注意:我也尝试启动calc.exe并以系统进程运行。 为什么不能像安装程序运行时那样在同一用户的环境下运行?


如果要安装SQL Server Express作为应用程序的先决条件,则应将其作为安装和部署项目的先决条件添加。

这可以通过右键单击安装项目,然后选择“属性” - >“先决条件”,然后检查SQL Server Express 2008来完成。

请注意,为了让SQL Server Express在必备软件列表中可用,它必须安装在您的开发机器上。

更新:

如果您想指定实例名称,则无法手动编辑引导程序包定义。

对于Visual Studio 2008,默认情况下,引导程序包将放置在以下位置:

C:Program FilesMicrosoft SDKsWindowsv6.0ABootstrapperPackages

在那里你还可以找到一个文件夹名称SqlExpress。 在该文件夹中,打开文件en package.xml并修改安装程序的命令行参数。 有三个部分取决于目标操作系统(Win 2000,XP和2003+):

<Command PackageFile="sqlexpr32.exe" 
         Arguments="-q /norebootchk /qn reboot=ReallySuppress addlocal=all 
                    instancename=SQLEXPRESS SQLAUTOSTART=1 ADDUSERASADMIN=1" 
                    EstimatedInstalledBytes="225000000" 
                    EstimatedTempBytes="225000000" 
                    EstimatedInstallSeconds="420">

   ...

</Command>

此更改将影响包含此软件包的所有安装程序,作为构建在您的系统上的先决条件。 如果您不希望自己需要通过复制SqlExpress文件夹并更新SqlExpress package.xml中的ProductCode来创建自己的独立引导程序包。

链接地址: http://www.djcxy.com/p/61101.html

上一篇: running as system account

下一篇: How to create a custom validator annotation in Spring Boot?