Pregunta

¿

alguien tiene script o procedimientos para instalar SQL Server 2008 Express, configurar la base de datos para la aplicación y finalmente instalar una aplicación cliente .NET WinForm?

¿Fue útil?

Solución

En situaciones como esta en las que confío en productos de terceros (SQL Server Express), tiendo a utilizar instalaciones controladas por línea de comandos (ya sea directamente en un archivo cmd o desde una herramienta de instalación 'adecuada'). Este sitio le muestra cómo instalar Express desde la línea de comandos, luego puede usar el utilidad SQL Express para la creación de objetos. Este método es 'bendecido' por Microsoft.

A veces, la solución más simple es la mejor, incluso si eso significa hacer que el usuario de mi producto instale SQL Express por separado antes de ejecutar mi instalación. Bueno, lo mejor para mí, de todos modos :-)

Otros consejos

El siguiente script verificará la versión completa de SQL Server 2008 R2. Si la versión completa ya está instalada, omite la instalación de SQL Server. Si la versión completa no está instalada, comprueba la edición SQL Express. Si ya está instalado, se saltará la instalación. Si no está instalado, instalará SQL Express 2008 R2.

  1. Crea un nuevo script. Vamos a llamarlo sql2008express.iss con el siguiente contenido

    [CustomMessages]
    
    sql2008r2expressx86_title=Microsoft SQL Server 2008 R2 Express Edition x86 (Including Tools)
    sql2008r2expressx64_title=Microsoft SQL Server 2008 R2 Express Edition x64 (Including Tools)
    
    sql2008r2expressx86_size=235.5 MB
    sql2008r2expressx64_size=247.5 MB
    
    [Code]
    
    const
    sql2008r2expressx86_url='http://download.microsoft.com/download/5/5/8/558522E0-2150-47E2-8F52-FF4D9C3645DF/SQLEXPRWT_x86_ENU.exe';
    sql2008r2expressx64_url='http://download.microsoft.com/download/5/5/8/558522E0-2150-47E2-8F52-FF4D9C3645DF/SQLEXPRWT_x64_ENU.exe';
    
    procedure sql2008express();
    
    var
    version: string;
    
    begin
    // Check if the full version fo the SQL Server 2008 R2 is installed
    RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLSERVER\MSSQLServer\CurrentVersion', 'CurrentVersion', version);
    if (version < '10.5') or (version = '') then begin
    // If the full version is not found then check for the Express edition
    RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version);
    if (version < '10.5') (*or (version > '9.00') or (version = '') *) then begin
    if isX64() then
        AddProduct('SQLEXPRWT_x64_ENU.exe', '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL,AS,RS,IS,Tools /INSTANCENAME=SQLEXPRESS /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="builtin\Administrators" /INDICATEPROGRESS /TCPENABLED=1 /BROWSERSVCSTARTUPTYPE=Automatic /ERRORREPORTING=0 /SQMREPORTING=0 /SECURITYMODE=SQL /SAPWD=1234', CustomMessage('sql2008r2expressx64_title'), CustomMessage('sql2008r2expressx64_size'), sql2008r2expressx64_url,false,false)
    else
    AddProduct('SQLEXPRWT_x86_ENU.exe', '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL,AS,RS,IS,Tools /INSTANCENAME=SQLEXPRESS /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="builtin\Administrators" /INDICATEPROGRESS /TCPENABLED=1 /BROWSERSVCSTARTUPTYPE=Automatic /ERRORREPORTING=0 /SQMREPORTING=0 /SECURITYMODE=SQL /SAPWD=1234', CustomMessage('sql2008r2expressx86_title'), CustomMessage('sql2008r2expressx86_size'), sql2008r2expressx86_url,false,false);
            end;
        end;
    end;
    
  2. En su secuencia de comandos, simplemente incluya la secuencia de comandos en la etiqueta [Ejecutar] y llame a la secuencia de comandos creada anteriormente en la etiqueta [Código] como se muestra a continuación:

    [Run]
    `#include "scripts\sql2008express.iss"
    [Code]
    sql2008express(); 
    

Otras notas: - Si los kits de configuración para el SQL se encuentran en la misma carpeta, los usará; de lo contrario, se descargarán de Internet. - Perdón por el formateo, no funciona. Copie / pegue en un editor de texto y formatee. Está completo y funcionando.

Espero que esto ayude a otros también. :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top