2009-06-04 2 views
2

私はClickOnceによってインストールされているwinformアプリケーションを持っており、デフォルトではsqlexpressでリモート接続を有効にできる必要があります。SQL ExpressのClickOnce Pre-RequisiteにPackage.xmlをインストールするには?

また、ローカルユーザーがSQLインスタンスにアクセスできるようにする必要があります。マニフェストファイルを編集するにはどうすればよいですか?

私のアプリケーションは、マージレプリケーショントポロジの一部です。私はDALを継承し、私がそれを変更するまで、SProcの制限のためにSQL CEに切り替えることはできません。

SQL ExpressはClickOnce(可能)であり、VS2008の既定値です。

以下はSQL Express BootstrapperパッケージのProduct.xmlです。私が必要なものを達成するためにこれを修正するにはどうすればよいですか?他の誰かがこれを修正しなければなりませんでしたか? Here is an example of this

<Command PackageFile="sqlexpr32.exe" Arguments="-q /norebootchk /qn reboot=ReallySuppress addlocal=all instancename=SQLEXPRESS SQLAUTOSTART=1 ADDUSERASADMIN=1" EstimatedInstalledBytes="225000000" EstimatedInstallSeconds="420"> 
<InstallConditions> 
<BypassIf Property="SQLExpressInstalled" Compare="ValueEqualTo" Value="0"/> 
<BypassIf Property="VersionNT" Compare="VersionLessThan" Value="5.1"/> 
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/> 
<FailIf Property="Version9x" Compare="ValueExists" String="InvalidPlatformXP"/> 
<FailIf Property="VersionNT" Compare="VersionLessThan" Value="5.1.2" String="InvalidPlatformXP"/> 
<FailIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel" String="InvalidPlatformArchitecture"/> 
</InstallConditions> 
<ExitCodes> 
<ExitCode Value="0" Result="Success"/> 
<ExitCode Value="1641" Result="SuccessReboot"/> 
<ExitCode Value="3010" Result="SuccessReboot"/> 
<ExitCode Value="50037" Result="Fail" String="MissingMSXml"/> 
<ExitCode Value="50251" Result="Fail" String="MissingMSXml"/> 
<ExitCode Value="50198" Result="Fail" String="InsufficientHardware"/> 
<ExitCode Value="50236" Result="Fail" String="InsufficientHardware"/> 
<ExitCode Value="50222" Result="Fail" String="InvalidPlatformOSServicePacks"/> 
<ExitCode Value="70003" Result="Fail" String="InvalidPlatformOSServicePacks"/> 
<ExitCode Value="50247" Result="Fail" String="InvalidPlatformIE"/> 
<ExitCode Value="50248" Result="Fail" String="InvalidPlatformIE"/> 
<ExitCode Value="70004" Result="Fail" String="AnotherInstanceRunning"/> 
<ExitCode Value="70032" Result="Fail" String="BetaComponentsFailure"/> 
<ExitCode Value="70033" Result="Fail" String="InvalidPlatformArchitecture"/> 
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure"/> 
</ExitCodes> 
</Command> 

皆さんありがとうございました。

答えて

0

SQL Serverはサービスです。クリック1回でサービスをインストールすることは理論的には可能です(herehereを参照)。

私は、サンドボックスアプリケーションを展開する技術であるため、一度クリックすればSQL Expressをインストールできないと考えられます。 SQLサーバーは金属の近くで動作し、サンドボックスではうまく動作しません。

などです。データベースを使用してクリック一度アプリを導入するより適切な方法です。

または、アプリケーションが別のサーバー上のデータベースを参照できるようにします。

EDIT:あなたの質問がすべて間違っている場合(これは既にSQL Expressがインストールされているクライアントワークステーション上のクリック一度のアプリケーションです)、リモート接続this wayを有効にする必要があります。プログラマチックにSAC tool can be usedを実行するという証拠のスクラップがあります。

+1

投稿していただきありがとうございます。 SQL ExpressはClickonceで展開できるだけでなく、VS2008で使用可能なデフォルトのブートストラップの1つです。 私は "別のサーバー"を使用することはできませんし、SQLコンパクトはSProcsをサポートしていないので、LINQライブラリとしてtho DALを書き換えるチャンスがなくなるまで、私はこのパスを強制されます。 –

+0

SQLをインストールすると、それは前提条件であることを示していますか? さて、このページはあります:http://msdn.microsoft.com/en-us/library/bb264562.aspx#emsqlexcustapp_topic4これは、一度クリックすれば、SQL Expressが前提条件だと言うことができますが、それでもまだSQL Expressのインストールには管理者権限が必要です。あなたが正しいのであれば、私は閉鎖された企業のワークステーションにSQL Serverをインストールすることができます。これはまったく素晴らしいものです。やってみます。 – MatthewMartin

+0

ええ、それは私がやっていることです。それは私のアプリの前提条件であることを示しています。ユーザーは自分のシステムの管理者ですが、それはうまくインストールされます。 –

1

SQL Express Editionはまだサーバークラスのデータベースです。これは常にサービスとして実行され、あらゆるサーバークラスのデータベースのように多くのリソースが好きです。ローカルデスクトップアプリのための良い選択ではありません。

単一のユーザーデータベースが必要な場合は、SQL Server Compact Edition、Sqlite、またはAccessのようなものを使用します。デスクトップアプリケーションをインストールしていても、SQL Serverの完全なインストールをドラッグしただけであれば、あなたはそれを感謝することはできません。

+0

私たちの周辺ユーティリティはハードコーディングされているので、ローカルDBは見栄えが良くありません。残念ながら、SQL CEはSProcをサポートしていないため、現時点ではオプションではありません。私は私たちのDALレイヤーを削除し、それをLINQに置き換えることを計画しましたが、それほど遠くにはありません。 –

0

あなたのpackage.xmlがボールを再生しておらず、あなたがデスクトップのためにはるかに単純なソリューションを望むならば、firebirdはSQLサーバからの変換に関するPDFがあるので、ストアドプロシージャはそのままです。私がすべてのsprocsをLinqに変換したら、私は怒っているだろうが、テストはしない。... サーバーからデータを読み取る他のサードパーティ製のユーティリティなどがあります。コンセプト作業の必要性を証明するしかし、展開してW7の新鮮な設定でも失敗するのを見て、私はここでの感情に同意します。 \ localdb \