• 締切済み
  • 困ってます

Vistaの"Program Files"にインストールすると

Vistaの"Program Files"フォルダにデータベースプログラムをインストールしました。 データベースや設定ファイルは全てインストールフォルダ直下に配置して、参照するようにしてあります。 ところが、プログラムはそれらのファイル参照せずに動作しています。書き込みや削除もできますが、インストールフォルダにあるファイルは更新されていません。 しかしプログラムを起動すると更新内容を正しく表示します。 全ドライブを検索してみましたが、インストールしたフォルダ以外にファイルは見つかりません。 アンインストールしても、更新したデーターベースや設定ファイルは残っているようで、再度インストールし直すと、前に登録した内容が残っています。 試しに更新されない設定ファイルをエディタで編集しようとしたところ、書き込みできませんでした。 インストールフォルダの設定を見たら読み込み専用になっていました。(読み込み専用に設定した覚えはないのですが) 読み込み専用を解除しましたが、やはり書き込み出来ませんでした。 XPの"Program Files"でテストした時は正常に動作しました。 Vistaでも"Program Files"フォルダ以外なら正常に動きます。 Vistaの"Program Files"フォルダにインストールするには何か設定が必要なのでしょうか? OS:Vista Business 開発環境:Visual Studio 2005/VB.NET/Access インストーラー:Windows インストーラー

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数671
  • ありがとう数8

みんなの回答

  • 回答No.1
  • Evreux
  • ベストアンサー率29% (225/774)

Vistaでは権限のないユーザーがProgram Filesの中を勝手に変更してしまわないように、または権限のあるユーザーでも意図しない変更が起こらないように工夫しています。 Program Files の中身は基本的にそのままにしておき、変更が必要な場合は差分をユーザーのプロファイルの中に(たしか隠しファイルとして)保存します。 プログラムを管理者権限で起動すれば挙動が変わるかもしれません。(たぶんユーザーのプロファイルを使うことはなくなると思います。)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

自己レスです。一応解決しました。 実行ファイルのマニフェストで requestedExecutionLevel levelを "requireAdministrator" に宣言していないと、Vistaの仮想化機能により C:\Users\\AppData\Local\VirtualStore\Program Files\(フォルダ名) に書き込まれていました。 これは"Program Files"フォルダ以外にもレジストリのシステム"HKEY_LOCAL_MACHINE"に書き込む場合も同様です。 しかし、アンインストール時にはこのフォルダも削除してくれないと困るよMS。

質問者からの補足

ありがとうございます。 >Program Files の中身は基本的にそのままにしておき、変更が必要な場合は差分をユーザーのプロファイルの中に(たしか隠しファイルとして)保存します。 確かにそのような動作をしています。 >プログラムを管理者権限で起動すれば 勉強不足な者で申し訳ございません。 管理者権限で起動とは具体的にどのようにすればよいのでしょうか?(ログインで設定されるのでしょうか) そもそも"Program Files"フォルダにインストールできること自体が管理者権限を持っているのだと思っていました。

関連するQ&A

  • Program Filesにインストールしない場合

    とあるフリーソフト(有名なファイラーです)をインストールしたいです。 インストールの手順をよく読んだところ、書き込み制限のあるProgram Filesフォルダーにはインストールしないこと、とありました。 今までソフトウェアのインストール先にはProgram Filesフォルダーしか指定したことがありません。 また、インストールの必要なく起動できるソフトも手動でProgram Filesフォルダーに入れて管理してきました。 データ用には別のHDD(Dドライブ)を搭載しているので、Cドライブ直下に自分で何かファイルやフォルダーを作ったことはありません。 今回の場合、Cドライブ直下に「Program Files」「Program Files(x86)」とは違う新たなフォルダー(「Program Files2」など)を作ってそこにインストールするという形をとっていいのでしょうか? 多くの方はどのような方法をとっているのでしょうか? お詳しい方いらっしゃいましたらアドバイスお願いしますm(_ _)m ※Windows7HP64bitです

  • Windows8.1のProgram Files

    Windows8.1のProgram Filesのテキストファイルを編集して、移動させると不思議な挙動をします。 ・適当な場所で作成した設定ファイル=テキストファイルをProgram Filesに入れて、管理者権限で変更を加えて保存します。 ・保存した設定ファイルを参照するプログラムからファイルを見ても変更が反映されていません。古い情報が見えています。しかし、再度テキストエディタで開くと変更は間違いなく入っていて保存もされています。 ・試しに変更したテキストファイルをデスクトップなどの別のフォルダに取り出してテキストエディタで開くと、編集前の状態に戻ります。ファイルは移動させただけなのですが。 ・さらに、取り出したファイルをProgram Filesに戻すと、また変更後の状態になります。ファイルは移動させただけです。何も編集しなくても見える値がフォルダの場所によって違う2種類の値を持つファイルになったのです。 いったい何が起きているのでしょうか?挙動が凄く気持ち悪くて、何かのスパイウェアにでも盗聴されているのかと疑ってしまいます。 ファイルを移動させるだけで、編集前の状態になったり、編集後の状態になったり。 Program Filesフォルダのファイルを直接編集すると、こういう挙動になることは普通のことなのでしょうか? この現象についてご存知の方がいましたら、教えていただけると助かります。

  • Program Filesフォルダー中のサブフォルダーを書き込み可能にする方法

    Windows vistaであるアプリケーションを使っているのですが、そのアプリケーションの設定ファイルを変更する必要があります。ところが、設定ファイルがProgram Filesに入っているせいか書き換えができず困っています。設定ファイルは、アプリケーションファイルと同じフォルダーに入っていないと機能しません。アプリケーションフォルダー全体を出そうとすると許可されません。 フォルダーの読み取り専用フラグを消そうとしましたが、以前の質問にもあったようにどうしても消すことができません。一度、□になるのですが、再度見てみると■になっていて、実際書き込みができません。 大変困っています。 どうか、助けてください。

  • Program Filesフォルダ

    win7 64bitです。 ソフトをインストールすると、 Program Filesフォルダに入ったり、 Program Files(x86)フォルダに入ったりするのですが この違いはなんでしょうか? 任意でインストール先を選択できる場合は、 どちらのファイルに入れたほうが良いですか?

  • ソフトのインストール先はProgram Filesフォルダでないとダメ

    ソフトのインストール先はProgram Filesフォルダでないとダメですか? お世話になります。殆どのソフトはインストール先のデフォルトがProgram Filesフォルダになっているので、そのままでインストールしているのですが、内蔵HDの容量が小さいので、使用頻度の低いソフトは外付けHDにインストールできないものかと考えています。 ソフトのインストーラーでデフォルトのインストール先を変えて、外付けHDの適当なフォルダをしていしてやれば問題は無いでしょうか? 御教示頂ければ幸いです。

  • ユーザー毎にProgram Files

    Windows2000を使っていますが、ログインユーザごとに、 Program Filesに相当するディレクトリを、分ける方法はありますでしょうか? 2つのユーザが同じプログラムをインストールし、それぞれ別の設定で使用したいのですが、インストールディレクトリにあるiniファイルを使っているせいか、1つ分の設定しか使われません。 これはアプリの仕様的に複数のユーザで使われることを想定していないと言うことで無理なのでしょうか?(レジストリ使っているものはOK) あるユーザのProgram Filesはここ、別のユーザーのProgram Filesはここ。 というような設定は可能でしょうか? (マイドキュメントはできるみたいなのですが…)

  • programfiles_が消せません(_はスペースです)

    今、phpを始めようとしていて、xamppというのをインストールしてapacheのあなたの予想に反して、というページが表示されず、インストールしたりアンインストールしたりしていたら、 マイコンピュータのローカルディスクcのほうにProgramFiles が2つみつかりました。 一方は元々あるもので、もう一つの削除したい方は 「ProgramFiles」ではなく、文字の後に半角スペースがある「ProgramFiles 」でした。 その「ProgramFiles 」のフォルダにはxamppというフォルダがあり、 その下の階層にhtdocsがあり、中身は空です。 これらを右クリックの削除を選んでも以下のように出て削除ができません。 ProgramFiles を削除しようとすると 「htdocsを削除できません。指定されたファイルがみつかりません。パスとファイル名を確認してください。」 xamppを同じように削除しようとすると「ファイルを削除できません。送り側のファイルまたはディスクから読み取れません。」 htdocs も同じく「ファイルを削除できません。送り側のファイルまたはディスクから読み取れません。」 とでてきます。 これ以外にファイルは無く、3つともフォルダのみです。フォルダだけなのに消せません。 htdocsのプロパティを見るとC:\Program Files \xampp 、サイズもディスク上のサイズも0バイトです。 このファイルを消すにはどうしたらいいでしょうか? ちなみに今はapacheもxamppもアンインストールしました。 もう数日間インストール、アンインストールを繰り返しましたが、効果はありません。 OSはwindowsXP 機種はFMV-biblo NB75L/T です。 コントロールパネルからのプログラムの追加と削除、の中にもありません。  ベクターから強制削除のソフトを使ってみましたが、そのフォルダの移動もできないので削除できませんでした。  名前の変更やファイルの移動もできません。仮にディスクトップにドラッグすると、同じ名前のフォルダが増えるだけです。そのディスクトップ上のフォルダは削除できます。 ローカルディスクcの中のフォルダだけが削除しようとすると通常の programfilsと同様の警告が出て削除できないです。  どうすれば削除できるのでしょうか?

  • Program Filesはどこから取得?

    インストーラなどで、よくデフォルトのインストール場所として、 c:\Program Files\XXXXX のような場所を指定されますが、このc:\Program Filesという場所は、 インストーラがどうやって取得してきているのでしょうか? おそらく、レジストリに書いてある情報からだと思っているのですが、 どこなのかわかりませんでした。 なぜこんなことをするかというと、 HDDを交換しパーティションを分けて、 これからはcドライブ以外にアプリケーションをインストールしていきたいのですが、 インストーラは今までどおり c:\Program Files\XXXXX といった場所を指定してくるので、これをいちいち変えるのが面倒だったからです。 レジストリの場所でいいんですが、 そういった情報を変更してくれるツールがあればそちらの方が安心なので、 ご存知でしたら情報お願いします。 環境は Windows2000です。

  • Windows7のProgram Filesフォルダにダウンロードした

    Windows7のProgram Filesフォルダにダウンロードしたはずのファイルが見つかりません WindowsXPの場合、Program Files中にあるファイルにたどる場合、 スタート⇒Program Filesフォルダをクリックすればその中にあるフォルダやファイル(LZHなど)を見られたのですが、Windows7は勝手が違うみたいで(Windws7に慣れていないので) 各プログラムフォルダ(およびそのファイル名)は見られますが、Program Filesフォルダにダウンロードしたはずの*.LZHやフォルダに含まれない*.EXEを見つけられません。どうしたら見ることができるでしょうか。ちなみにダウンロードしたのはWindows7対応です。

  • C:\Program Filesを開いて見ていていたら・・・

    C:\Program Filesをいろいろフォルダを開いて見ていたら・・・、 ltmohというフォルダに、「V.92 モデム オン ホールド」と いうわけのわからないのがでできました。 こんなのはインストールした覚えはありません。 これはもともと入ってるものなのですか? 削除したいのですが、このまま削除していいのですか? それともプログラムの変更と削除でアンインストールを試みたんですけど、まったく見つかりません。 回答お願いします。