C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: インストーラーで不具合


(過去ログ 120 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■72203 / inTopicNo.1)  インストーラーで不具合
  
□投稿者/ よしむら (1回)-(2014/05/25(Sun) 12:46:37)

分類:[.NET 全般] 

インストーラーの仕組みについて教えて下さい。

いままで、インストーラーはEXEファイルの中に入っているファイルをコピーしてショートカットを作っているだけの機能だと思っていましたが、不可解なことが起こりました。

最近visualstudio2010EXPRESSを使って作ったアプリのインストーラーを作成しました。
SQL Server Compact3.5を使用したアプリなのですが、このアプリのインストールがうまくいきません。
うまくいかないのは、Program Filesにインストールしたときだけなのですが、「共有ファイルが開けません」というエラー文が出て、DBとの通信ができなくなってしまいます。

SQL Server Compact3.5を使ってないアプリや、Program Files以外へのインストールではなんの問題もないので、この2つが相性が悪いのかと思っていたのですが、visualstudioのフォルダから直接Program Filesに、コピーすると問題なく動きました。

ということは、インストーラーの設定も基本的には問題なく。Program Filesでの動作も可能。しかし、インストーラーを使ったProgram Filesへのインストールのみエラーがでてくるということになりました。

唯一気になったとのは、手動でProgram Filesにコピーするときの
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
このフォルダーへコピーするには管理者の権限が必要です。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
という文章がでることで、インストーラーの場合この文章をスルーして入ってしまっているからではないかと考えています。

ちなみに、インストーラーはInnoSetupを使用しています。


なにか思い当たることのある方はご連絡ください。





引用返信 編集キー/
■72204 / inTopicNo.2)  Re[1]: インストーラーで不具合
□投稿者/ WebSurfer (267回)-(2014/05/25(Sun) 13:02:50)
No72203 (よしむら さん) に返信

ひょっとして、こちら ↓ と同じ話ではないですか?

インストールプログラム
http://social.msdn.microsoft.com/Forums/ja-JP/9a159a2b-3db7-4aec-8ae7-c2de3291cb50?forum=vbgeneralja

ハズレだったらすみません。
引用返信 編集キー/
■72205 / inTopicNo.3)  Re[2]: インストーラーで不具合
□投稿者/ よしむら (3回)-(2014/05/25(Sun) 13:30:41)
No72204 (WebSurfer さん) に返信
おそらくこれが問題のようですね。

ということは、みなさん書き込み処理のあるアプリケーションを作成する場合は、プログラムファイル以外の場所にローカルDBを設置したりしているのでしょうか?PC内にフォルダが2個になったりして気持ち悪いと思うのですが、、、

みなさんどうされているのでしょうか?
引用返信 編集キー/
■72206 / inTopicNo.4)  Re[3]: インストーラーで不具合
□投稿者/ オショウ (138回)-(2014/05/25(Sun) 16:31:15)
> みなさんどうされているのでしょうか?

  OSの仕様通りに、別のドライブやフォルダにデータ専用のフォルダを作って
  そこで管理してます。

  C:\ProgramDara の、Cドライブへの読み書きが嫌ならば、別のドライブに読み
  書き用フォルダを別に作って・・・

  尚且つ、インストーラで設定する折に、その作られたフォルダに正しく権限の
  設定を行い、アクセス拒否にならないようにしてます。

以上。
引用返信 編集キー/
■72207 / inTopicNo.5)  Re[3]: インストーラーで不具合
□投稿者/ 渋木宏明 (10回)-(2014/05/25(Sun) 16:39:21)
渋木宏明 さんの Web サイト
Program Files は全ユーザが利用可能なアプリケーションを配置するための場所なので、配下のファイルを一般ユーザ権限で容易に書き換えれたらセキュリティ的にマズイため、こーゆー制限が課せられています。

> ということは、みなさん書き込み処理のあるアプリケーションを作成する場合は、プログラムファイル以外の場所にローカルDBを設置したりしているのでしょうか?

原則はそうです。

「文書ファイル」など、ユーザがその存在を意識するべきデータファイルは

・ユーザのドキュメントフォルダ
・パブリックのドキュメントフォルダ

に、ユーザがその存在を意識しなくてもよいデータファイルは

・ユーザの AppData フォルダ配下
・ProgramData フォルダ配下

に保存することが強く推奨されています。

どうしてもそれで都合が悪いのであれば、書き込みを行いたいフォルダのセキュリティ設定もインストーラで行います。

SQL Server なんかはこのパターンです。

> みなさんどうされているのでしょうか?

上記の通り、原則は Microsoft から示されているガイドラインに示されているので、それに従うのが順当と思います。

少し古いですが、XP 時代に示されたガイドラインがもっとも読みやすいと思います。

"Designed for Windows XP" アプリケーション仕様書 2.3 日本語版
http://www.microsoft.com/ja-jp/download/details.aspx?id=7681

引用返信 編集キー/
■72208 / inTopicNo.6)  Re[4]: インストーラーで不具合
□投稿者/ よしむら (5回)-(2014/05/25(Sun) 19:52:30)
みなさんご意見・アドバイスありがとうございました。


解決済み
引用返信 編集キー/
■72209 / inTopicNo.7)  Re[5]: インストーラーで不具合
□投稿者/ よしむら (6回)-(2014/05/25(Sun) 19:52:34)
2014/05/25(Sun) 19:53:39 編集(投稿者)

No72208 (よしむら さん) に返信
> みなさんご意見・アドバイスありがとうございました。
>
>
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -