4

みんなおはよう。これはstackoverflowに関する私の最初の質問です。うまくいけば、これは殴られて死んだものではなく、見つけることができませんでした.

シュリンクラップで配布されるアプリケーションを開発しています。私たちはアプリケーションと共に SQL Server 2008 Express Edition を配布する権利を取得しましたが、正確にこれを行う方法は少し難しいです。現在、私たちは標準の Visual Studio セットアップ プロジェクトを使用しており、構成可能なマージ モジュールのような非常に簡単なものを望んでいましたが、明らかにそのようなものは存在しないか、ここに投稿しません ;)

私がたどり着いた道は、パッケージに自己解凍型 EXE を含め、カスタム インストール アクションを使用してそれを解凍し、コマンド ライン引数を SQL インストーラーに渡して名前付きインスタンスを作成することでした。ここで問題が発生します。

抽出は問題ありません。Windows からスクリプトを実行すると、必要に応じて SQL Server がインストールされますが、カスタム アクションから SQL インストーラーを実行できません。これは、既に別のインストールが進行中であると表示されるためです。もちろん、この別のインストールは私のアプリケーションであり、SQL Server が終了するまで終了しないため、SQL が最終的にあきらめてエラーが発生するまで、基本的にデッドロック状態になります。

私が欲しいのは、アプリケーションと一緒にインストールされ、一緒にアンインストールされる SQL サーバーの名前付きインスタンスです。自分でインストーラーを作成することは時間の関係で選択肢にありません。私の同僚は、複雑さのために InstallShield は選択肢にないと言っています (私は一度も使用したことがないので、彼の言葉を信じます)。誰か考えがありますか?

4

5 に答える 5

1

このプロジェクトのコードは SQL2005 用に作成されていますが、SQL2008 の展開にも簡単に使用できるようです。

http://www.codeproject.com/KB/applications/NET_Installer_With_SQLEXP.aspx

また、選択したインスタンス名もサポートしています。確かに微調整が必​​要ですが、あなたがやろうとしていることの基本的なテナントをサポートしているようです。

于 2009-03-27T21:41:17.280 に答える
1

SOに関するこの種の情報を探しに来る他の誰かのために、先に進んで自分の質問に答えます...私が知ることができたすべてのものから、インストールすることは不可能ですカスタム ブートストラッパーやサード パーティのインストーラー製品 (InstallShield など) を経由せずに、カスタム ソフトウェアのインストールにリンクされている SQL Server (とにかく 2008、そしておそらく 2005) のカスタム インスタンス。SQL Server Compact エディションの方が適しているようです。

于 2009-03-29T13:43:21.343 に答える
1

誰かがまだこれを追跡しているかどうかはわかりません。おそらく、あなたはこれを見ることができます:

http://msdn.microsoft.com/en-us/library/dd981032(SQL.100).aspx

試したことはありませんが、Adam が投稿したのとまったく同じ問題を解決しようとしています。

于 2010-08-25T02:27:02.210 に答える
0

1つのアプローチは、SQL Server 2008 Expressインストールパッケージを含めてから、Windowsインストーラーでカスタムアクションを使用して、SQL Server2008Expressのサイレントバックグラウンドインストールを開始することです。

このパッケージは標準のMSIパッケージです。MSIをインストールするときに、コマンドラインで大量のプロパティを設定できるはずです。

これが私が見つけたサンプルです:

sqlexpr.exe /qb instancename="MACHINENAMESQLEXPRESS2008" 
SQLAUTOSTART=1 SAPWD="PWD" SECURITYMODE=SQL DISABLENETWORKPROTOCOLS=0"

コマンドラインプロパティの完全なリストは、MicrosoftまたはSQL Server2008Expressのヘルプファイルのどこかで入手できるはずです。

マーク

于 2009-03-26T06:31:01.937 に答える