2

SQL Server 2008 Expressをインストールし、アプリのデータベースをセットアップし、最後にクライアント.NET WinFormアプリケーションをインストールするためのスクリプトまたは手順を持っている人はいますか?

4

2 に答える 2

4

サードパーティ製品 (SQL Server Express) に依存しているこのような状況では、コマンド ライン駆動のインストールを使用する傾向があります (cmd ファイルで直接、または「適切な」インストール ツールから呼び出されます)。このサイトでは、コマンド ラインから Express をインストールする方法が示されています。その後、SQL Express ユーティリティを使用してオブジェクトを作成できます。この方法は、マイクロソフトによって「祝福」されています。

インストールを実行する前に、製品のユーザーに SQL Express を個別にインストールしてもらうことを意味する場合でも、最も単純なソリューションが最適な場合があります。まあ、とにかく、私にとっては最高です:-)

于 2009-02-09T04:33:12.430 に答える
1

次のスクリプトは、SQL Server 2008 R2 のフル バージョンをチェックします。フル バージョンが既にインストールされている場合、SQL Server のインストールはスキップされます。フル バージョンがインストールされていない場合は、SQL Express エディションがチェックされます。すでにインストールされている場合は、インストールをスキップします。インストールされていない場合は、SQL Express 2008 R2 がインストールされます。

  1. 新しいスクリプトを作成します。次の内容でsql2008express.issという名前を付けましょう

    [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. 次に、スクリプトで [Run] タグにスクリプトを含め、以下のように [Code] タグで以前に作成したスクリプトを呼び出します。

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

その他の注意事項: - SQL のセットアップ キットが同じフォルダにある場合は、それを使用します。そうでない場合は、インターネットからダウンロードされます。- 申し訳ありませんが、フォーマットは機能しません。テキストエディタにコピーして貼り付け、フォーマットします。それは完全で機能しています。

これが他の人にも役立つことを願っています。:)

于 2013-03-11T07:11:09.573 に答える