none
VS2008(Pro)/sql server 2005で作成したWindowsアプリケーションの実行ファイルをWindowsインストーラでインストールしたとき、 RRS feed

  • 質問

  • SQL Server フォーラムで尋ねる質問かもしれませんが、また実際に試してみると確認できる質問も含まれますが、私は1台のPCしか持ち合わせておりませんので、ここで質問させていただいております。

    VS2008(Pro)/sql server 2005で作成したWindowsアプリケーションの実行ファイルをWindowsインストーラでインストールしたとき、
    アプリケーション以外にも、次の4つが必要とされているようです。(私が読んでいる本の説明では)
      ア .NET FrameWork 3.5
      イ Microsoft Data Access Components(MDAC)
      ウ SQL Server 2005
      エ データベース

    以前にVS2005/ACCESSで作成した場合は、バージョンは違いましたが<ア>だけで良かったように思います。

    ACCESS/mdbで作成していたときは、「同時実行違反」にずいぶんと悩ませられまして、このフォーラムの皆様にいろいろ教えていただきながら完成したのですが、その際にSQL Serverにすると「同時実行違反」になることが少なくなると教えていただき、今回の作成時からはSQL Serverを使おうと考えています。

    しかし、これから作成しようとするアプリは、「町内会用の会計業務ソフト」で、この使用者は必ずしもPC操作に堪能な方とはいえないのです。
    そのような使用者に、
       1 MDACをインターネットでみつけてインストールし
       2 さらに、SQL Server 2005もインターネットで見つけてインストールし、アプリ使用前にSQL Server 2005の設定をしなければならない
    といえば、使用に2の足を踏む方が大半ではないかと思うのです。

    それで、従来通りACCESS/mdbを使用して作成したほうがいいのではないかと思い悩んでいます。

    ここで質問ですが、
      Q1 SQL Server を使用した時はこんなに面倒なのでしょうか。
      Q2 SQL Server をしてもアプリ使用者がもっと簡単に運用できる方法はないのでしょうか。 
      Q3 ACCESSを使用した時、2008では.NET Frameworkがインストールされていない場合には自動的にインストールされるようですが、他にインストールする必要があるものはないのでしょうか。

     

    zen73
    2009年8月2日 9:52

回答

  • mdbを配布するだけならライセンスは要らないはずです。mdbは単なるデータファイルですので、pdfやpptを配布するのと同じだと思います。が、正式にはマイクロソフトに確認された方が良いでしょう。

    ところでSQL Server Compact Edition 3.5ですが、可能であれば使った方が良い思います。位置づけ的にはjet(mdb)に代わるものです。確かにSQL Server Compact Edition 3.5は通常のSQL Serverと似て非なるものですが、ほとんど同じ感覚で使えると思います。SQL Server Compact Edition 3.5は機能もアップされてきていますし、デスクトップアプリケーションには最適だと思います。しかし、VS2008にしか対応していません。VS2008 Express Editionには以前は対応していませんでしたが、対応できるようになったようです。ただし、どの程度対応しているのかはわかりません。

    (参考)--------------------------------------------------------------------------------
    SQL Server Compact 3.5 と Visual Studio
    http://msdn.microsoft.com/ja-jp/library/aa983341.aspx

    Visual Basic 2008 Express Edition と Visual C# 2008 Express Edition を使用して、SQL Server Compact 3.5 ベースのアプリケーションを、デスクトップと Tablet PC 向けに開発できるようになりました。
    ----------------------------------------------------------------------------------------


    SQL Server Management Studio Express で管理できるようになったようです。

    (参考)--------------------------------------------------------------------------------
    SQL Server Compact
    http://msdn.microsoft.com/ja-jp/library/cc645984.aspx

    SQL Server 2008 の SQL Server Management Studio Express (SSMSE) で管理できるようになりました。
    ----------------------------------------------------------------------------------------


    開発の例です。

    極小SQL Server Compactでデータベース・アプリをお手軽作成
    http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080701devssce/devssce_01.html


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク zen73 2009年8月7日 7:39
    2009年8月3日 0:51
    モデレータ
  • なるほど、誤解していました。
    mdbファイルにアクセスするOLE DBプロバイダがMDACに含まれているため、Access本体は不要で逆にMDACが必要になるんですね。
    ちょっと調べたところ、Windows XP SP3には最初からMDAC 2.8 SP1相当がインストールされているような気がします。
    これでインストールの敷居が1つ低くなりますね。

    私もSQL Server Compactをおすすめしておきます。バージョンは3.5 SP1が出ているので、そちらの方がいいかも。
    開発環境としてはManagement Studio Expressを入れておくと便利ですが、実行環境では必要ないかもしれません。
    • 回答としてマーク zen73 2009年8月7日 7:39
    2009年8月3日 2:12
  • Q1 SQL Server を使用した時はこんなに面倒なのでしょうか。
    Q2 SQL Server をしてもアプリ使用者がもっと簡単に運用できる方法はないのでしょうか。 
    Q3 ACCESSを使用した時、2008では.NET Frameworkがインストールされていない場合には自動的にインストールされるようですが、他にインストールする必要があるものはないのでしょうか。
    SQL Serverはそうなってしまうのは仕方がないです。
    今回のような場合、SQL Server Compact がちょうどいいかもしれません。SQL Serverのようにサービスとして起動しておく必要もありません。最も簡単な方法 をとった場合、アプリケーションと同じディレクトリにファイルをコピーするだけにできます。
    • 回答としてマーク zen73 2009年8月2日 21:36
    2009年8月2日 13:25

すべての返信

  • Q1 SQL Server を使用した時はこんなに面倒なのでしょうか。
    Q2 SQL Server をしてもアプリ使用者がもっと簡単に運用できる方法はないのでしょうか。 
    Q3 ACCESSを使用した時、2008では.NET Frameworkがインストールされていない場合には自動的にインストールされるようですが、他にインストールする必要があるものはないのでしょうか。
    SQL Serverはそうなってしまうのは仕方がないです。
    今回のような場合、SQL Server Compact がちょうどいいかもしれません。SQL Serverのようにサービスとして起動しておく必要もありません。最も簡単な方法 をとった場合、アプリケーションと同じディレクトリにファイルをコピーするだけにできます。
    • 回答としてマーク zen73 2009年8月2日 21:36
    2009年8月2日 13:25
  • 佐祐理さん、いつも的確なアドバイスをいただきありがとうございます。

    スタンドアロン型で運用しますので、mdbを使うことにしました。

    紹介いただきましたSQL Server Compactですが、資料が少ないので私には敷居が高いようです。

    *今までお名前を間違って書いていました。お許しください。
    zen73
    2009年8月2日 21:44
  • アプリ使用者各人がインストールするような記述がされていましたが、mdbを使うとしてAccessは誰が購入するのでしょうか?
    SQL Server Compactは資料が少ないですか…MSDN Libraryには十分な記述がされているとは思いますが、そういう印象なら仕方がないですね。
    • 回答としてマーク zen73 2009年8月7日 7:38
    • 回答としてマークされていない zen73 2009年8月7日 7:38
    2009年8月2日 22:01
  • mdbを配布するだけならライセンスは要らないはずです。mdbは単なるデータファイルですので、pdfやpptを配布するのと同じだと思います。が、正式にはマイクロソフトに確認された方が良いでしょう。

    ところでSQL Server Compact Edition 3.5ですが、可能であれば使った方が良い思います。位置づけ的にはjet(mdb)に代わるものです。確かにSQL Server Compact Edition 3.5は通常のSQL Serverと似て非なるものですが、ほとんど同じ感覚で使えると思います。SQL Server Compact Edition 3.5は機能もアップされてきていますし、デスクトップアプリケーションには最適だと思います。しかし、VS2008にしか対応していません。VS2008 Express Editionには以前は対応していませんでしたが、対応できるようになったようです。ただし、どの程度対応しているのかはわかりません。

    (参考)--------------------------------------------------------------------------------
    SQL Server Compact 3.5 と Visual Studio
    http://msdn.microsoft.com/ja-jp/library/aa983341.aspx

    Visual Basic 2008 Express Edition と Visual C# 2008 Express Edition を使用して、SQL Server Compact 3.5 ベースのアプリケーションを、デスクトップと Tablet PC 向けに開発できるようになりました。
    ----------------------------------------------------------------------------------------


    SQL Server Management Studio Express で管理できるようになったようです。

    (参考)--------------------------------------------------------------------------------
    SQL Server Compact
    http://msdn.microsoft.com/ja-jp/library/cc645984.aspx

    SQL Server 2008 の SQL Server Management Studio Express (SSMSE) で管理できるようになりました。
    ----------------------------------------------------------------------------------------


    開発の例です。

    極小SQL Server Compactでデータベース・アプリをお手軽作成
    http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080701devssce/devssce_01.html


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク zen73 2009年8月7日 7:39
    2009年8月3日 0:51
    モデレータ
  • なるほど、誤解していました。
    mdbファイルにアクセスするOLE DBプロバイダがMDACに含まれているため、Access本体は不要で逆にMDACが必要になるんですね。
    ちょっと調べたところ、Windows XP SP3には最初からMDAC 2.8 SP1相当がインストールされているような気がします。
    これでインストールの敷居が1つ低くなりますね。

    私もSQL Server Compactをおすすめしておきます。バージョンは3.5 SP1が出ているので、そちらの方がいいかも。
    開発環境としてはManagement Studio Expressを入れておくと便利ですが、実行環境では必要ないかもしれません。
    • 回答としてマーク zen73 2009年8月7日 7:39
    2009年8月3日 2:12
  • 佐祐理さんと、trapemiyaさんからアドバイスをいただいておりましたのに気がつかず、大変失礼していました。

    SQL Server 2008 の SQL Server Management Studio Express をインストールしました。

    お二人にご紹介していただきましたWebページを参考にSQL Server Compact 3.5の使い方を勉強してみようと思います。
    どうもありがとうございました。

    zen73
    2009年8月7日 7:37