vista対策
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/06(月) 20:41:330152デフォルトの名無しさん
2007/02/07(水) 15:53:440153デフォルトの名無しさん
2007/02/07(水) 16:25:04CドライブにOSが入っているとして
XP,2000のパス
C:\Documents and Settings\All Users\Application Data\
に保存していたデータがVistaでは
C:\ProgramData\
に変更になっていました
インストールシールドからアプリケーションを起動してそのフォルダに
初期の設定データを保存してました。
しかしその後、アプリケーションを手動で起動し、その設定データを
編集しようとすると書き換え保存ができなくなっていました。
同じアプリでも「インストールシールドで自動的に起動したアプリ」と
「手動で起動したアプリ」は権限が違うため、
(setup.exeを起動すると権限が自動的に上がる)
前者が保存したファイルは後者では編集ができなくなっているの
でした。
解決方法はないでしょうか?
インストールシールドから権限を下げてアプリ起動させる方法とか、
保存するときに権限を下げて保存できる方法とか、、。
C:\ProgramData\ にできれば保存したいです。
よろしくお願いします。
0154デフォルトの名無しさん
2007/02/07(水) 16:25:10いや、ヘルプに書いてあるけど?
0155デフォルトの名無しさん
2007/02/07(水) 16:33:360156デフォルトの名無しさん
2007/02/07(水) 17:41:26マニフェストファイルを変更。
0157デフォルトの名無しさん
2007/02/07(水) 18:13:38コメントありがとうございます。
マニフェストファイルに
<description>Windows Shell</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker"uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
上記を追加しても、インストールシールドからアプリケーションを起動すると
だめなんです。
上位の権限でアプリケーションが起動してしまいます。
手動でexeをクリック起動だと通常の権限に戻ってしまうんです。
0158デフォルトの名無しさん
2007/02/07(水) 19:25:17なにそのクソ仕様
0159デフォルトの名無しさん
2007/02/07(水) 19:43:42せっかく、setupから起動したアプリが(真の)アドミ権限を持ってるんだから、その時に
C:\ProgramData\<your-appli>
のセキュリティー設定を変えちまえば?
0160デフォルトの名無しさん
2007/02/07(水) 20:41:19たぶん、ttp://msdn2.microsoft.com/en-us/library/aa480150.aspx
だと思うんだけど…。間違ってたらごめん。
0161デフォルトの名無しさん
2007/02/07(水) 21:08:09しかしこうやって戸惑う人が現れる以上、この仕様はいかがなものか?と思わざるを得ない
0162デフォルトの名無しさん
2007/02/07(水) 23:33:19MSDNマガジン(オンラインで読める)に書いてあったケースだな。
インストーラAからアプリBを起動すると、アプリBまで権限が上がってしまってよろしくない。
インストーラAとアプリBを順番に起動するアプリCを作るべし。
Aを起動するときはCreateProcessではなく、Shell何とか関数にしないと
権限昇格ダイアログが出ないので注意。
そんな感じ。URLは自分で調べてくれ。
0163デフォルトの名無しさん
2007/02/08(木) 00:03:37HKEY_CURRENT_USER\Software
HKEY_LOCAL_MACHINE\Software
このへんが自由に書けるなら問題無いけど。
後は HKEY_CLASSES_ROOT 以下とか。
0164デフォルトの名無しさん
2007/02/08(木) 00:07:07自由に書けるのは HKEY_CURRENT_USER だけだと思う
0165デフォルトの名無しさん
2007/02/08(木) 00:24:38セーブデータをそのフォルダ内に作りたい。
でもプログラム起動のたびに管理者権限昇格もしたくない。
そんな方法はなさそうですね…
0166デフォルトの名無しさん
2007/02/08(木) 00:26:49そうそう。CreateProcessで通常のexeから管理者権限のexeを起動するとだめなのな。
互換性の問題を検出したとか出て2回目以降は動くようになるけどカコワルイ。
いやらしいのは一回動くようになっちゃうとその後はその環境では問題なく動いてしまうから、
初回起動時のメッセージを見落としたら、そういう問題があることに開発者すら気づかないという点だな。
初回なんてどうせろくに動かないから、ちょっとしたメッセージなんか気にしないで忘れてしまうかもしれない。
落とし穴だな。
試行錯誤でShellExecuteならいけるというのを見つけてそれで実装したけど
もしかしたらこれってバグ技かなあ? と思ってた。
MSDNマガジン推奨だったのか。ちょっと安心した。
0167デフォルトの名無しさん
2007/02/08(木) 07:43:58もっと単純シンプルな仕掛
たとえば、実行ファイルのあるフォルダツリー以下しかアクセス出来ないとかさ
レジストリがその実行ファイル専用に出来るとかさ
0168デフォルトの名無しさん
2007/02/08(木) 09:34:200169デフォルトの名無しさん
2007/02/08(木) 09:35:09おおかみがきたぞー
って話アメリカにはないのかな?
0170デフォルトの名無しさん
2007/02/08(木) 11:21:20160さんコメントありがとうございます。
http://msdn.microsoft.com/msdnmag/issues/07/01/UAC/default.aspx?loc=jp
ここに%ALLUSERSPROFILE%について日本語で掲載されていますが、インストール後に
手動でアプリ起動して設定ファイル保存せよというような意味が書いてあります。
しかし、160さんの「管理者権限を下げて保存する」方法が私のやりたいことに一番近い感じですが、どうやるんでしょう?
調べています。
>162 さん
ありがとうございます。まったくそのとおりなんです。
162さんの方法は「インストールランチャ」のようなアプリをまた別に作れということなんですよね?
うーん、、、、、、。考えてみます。
0171デフォルトの名無しさん
2007/02/08(木) 13:09:24その場凌ぎのvista対応をするよりも、仕様/設計から見直した方がインジャネーノ?
今後もあるわけだし。
0172デフォルトの名無しさん
2007/02/08(木) 13:12:57だから、どこの置けと?
全ユーザーに関する設定を。
0173デフォルトの名無しさん
2007/02/08(木) 13:56:53真綿で首しめるような事するから・・・
0174デフォルトの名無しさん
2007/02/08(木) 14:03:49パソコンなんて安価になって1人1台の時代なんだしさ
0175デフォルトの名無しさん
2007/02/08(木) 14:11:40全ユーザに関する設定って例えば何?
0176デフォルトの名無しさん
2007/02/08(木) 15:03:33%ALLUSERSPROFILE%に置くことはやはり厳しいのかな?
XP,2000と同じように作りたかったのですが、、、。
172さんのおっしゃる通りアプリ自身の設定ってほんとどこに置くんでしょう?
0177デフォルトの名無しさん
2007/02/08(木) 15:29:15アプリ自身の設定って例えば何?
0178デフォルトの名無しさん
2007/02/08(木) 16:40:230179デフォルトの名無しさん
2007/02/08(木) 16:50:08ユーザをADDするとその設定ファイルをユーザのHOMEにコピーして初期値とする的なものじゃねーの
0180デフォルトの名無しさん
2007/02/08(木) 17:09:460181デフォルトの名無しさん
2007/02/08(木) 17:12:350182デフォルトの名無しさん
2007/02/08(木) 17:28:030183デフォルトの名無しさん
2007/02/08(木) 17:28:18c:\hogehoge\
ってディレクトリ作ってそこにブッ込むのもアリかと思う。
そうじゃなかったらおとなしくmanifestを設定してHKLMのレジストリに書き込むか。
0184デフォルトの名無しさん
2007/02/08(木) 17:32:04で、勝手に消すんだよ
奴らは斜め上ってレベルじゃねーぞ
0185デフォルトの名無しさん
2007/02/08(木) 17:59:15そんなのいっぱいあるじゃん?
ちょっとは考えろ!
0186デフォルトの名無しさん
2007/02/08(木) 18:32:08それなら、実行時に書き換えるもんじゃないから、インストール時にProgram Filesに入れればいいんじゃないの?
実行時に書き換える必要がある全ユーザー共通の設定、ってのをどこに置くかって
ことだろう。ソフトウェアの設計上の、その是非は別として。
UNIXと対応させると、
/usr/share -> Program Files
$(HOME) -> Users\*
/etc -> レジストリ
として、
/varはどこよ?ってことだろうか。
0187デフォルトの名無しさん
2007/02/08(木) 18:51:15その後、またAdmin権限の人がユーザー権限の人のために変更したい場合はProgram Files に入れてたら
できない。
admin権限の人は自由に変更できてユーザー権限の人は読込しかできないという仕様はできないの?
0188デフォルトの名無しさん
2007/02/08(木) 18:57:29その通りです。どこに置くの?
0189デフォルトの名無しさん
2007/02/08(木) 19:20:560190デフォルトの名無しさん
2007/02/08(木) 20:54:15ユーザーから簡単にさわれるようになってるんでしょうか?
ユーザーにあまり触られたくない情報をそこに書いてるのだけど。
0191デフォルトの名無しさん
2007/02/08(木) 22:56:06>>87
0192デフォルトの名無しさん
2007/02/08(木) 23:40:26そこはホントに管理者権限で処理すればいいんじゃねーの?
0193デフォルトの名無しさん
2007/02/08(木) 23:48:410194デフォルトの名無しさん
2007/02/08(木) 23:54:44adminで作ってアプリのカレントに保存後、
セキュリティのeveryoneの読み取りを許可にしとけばいいじゃん。
win文化じゃあんまり見かけないレアケースだと思うけどな。
IEのproxy設定なんかもそうだけど、どんな共通情報でも1から各ユーザに入力させるじゃん。
0195デフォルトの名無しさん
2007/02/09(金) 00:28:45んで、標準アカウントは別に存在しなくてもかまわないと。
そうした場合、Vistaプレインストール済みのパソコン買ってきた人っていうのは、
まず管理者アカウントの設定して、それからわざわざ標準アカウントを作成
なんてやるのかな?それとも標準アカウントの作成を促すメッセージでも出る
わけ?
0196デフォルトの名無しさん
2007/02/09(金) 00:35:540197デフォルトの名無しさん
2007/02/09(金) 01:01:590198デフォルトの名無しさん
2007/02/09(金) 01:20:000199デフォルトの名無しさん
2007/02/09(金) 01:34:15とMSは考えたのかも
0200デフォルトの名無しさん
2007/02/09(金) 02:03:23あんまり意味が無い気もするな。そういう初心者は対象外なんかな。
0201デフォルトの名無しさん
2007/02/09(金) 02:09:01そしてMS自らウイルススキャンソフトを出して二度おいしい
すべては計画通り
0202デフォルトの名無しさん
2007/02/09(金) 02:28:030203デフォルトの名無しさん
2007/02/09(金) 02:48:14UACは、逆にユーザを甘やかす結果になっている気がする。
管理者アカウントのGUIは色数256固定とか位しないと駄目かもしれんね。
0204デフォルトの名無しさん
2007/02/09(金) 08:29:240205デフォルトの名無しさん
2007/02/09(金) 08:41:49企業での利用でも1つのパソコンを共有するなんて、まず無いだろ?
0206デフォルトの名無しさん
2007/02/09(金) 08:45:220207デフォルトの名無しさん
2007/02/09(金) 11:03:56UNIXで言うところsuじゃなくて、sudoを毎回叩いている感覚が気にくわない。
0208デフォルトの名無しさん
2007/02/09(金) 12:28:14もっとスムーズにやってほしい。画面暗転オフにできれば良いのに。
0209デフォルトの名無しさん
2007/02/09(金) 13:42:55ユーザーの環境がJIS2004MS書体と旧来のMS書体が混在しそうな予感なんだが。
Vistaだけの問題じゃないところが痛い。
0210デフォルトの名無しさん
2007/02/10(土) 06:28:30ならProgramDataでいいじゃん。つーかProgram Filesでも管理者は昇格すれば
書ける。Vistaに付属のコントロールパネルも多くは全ユーザーの設定を変更するとき
昇格が必要って仕様だし。
>>151 >>191
> 良い子は真似しないように。
>>208
署名を検証してるからかな。「署名の検証中です」ともなんとも表示されないから
巨大な実行ファイル(自己解凍のインストーラとか)の実行時はフリーズしたみたいになる
0211デフォルトの名無しさん
2007/02/10(土) 06:32:18こんなの見つけた。一言で要約すると
「現在ログオンしているユーザーのアカウントで即時に一回限り実行されるタスクを登録」
http://www.codeproject.com/useritems/VistaElevator.asp?df=100&forumid=368223&exp=0&select=1813530&tid=1812681
0212デフォルトの名無しさん
2007/02/12(月) 22:55:56通常実行時は昇格させないでアンインストール時は
昇格させる方法無い?
0213デフォルトの名無しさん
2007/02/12(月) 22:59:54システムにアンインストーラとして登録しとけば勝手にやってくれんのか?
0214デフォルトの名無しさん
2007/02/12(月) 23:22:55いや、それは使い方しだいだろ。
確かに、サーバークライアントとして、個々に割り当てられたOSの場合は
サーバー側が制限するのがほとんどだが、小企業になると、
【鯖】←→【PC】 PCーPC−PC−PC−PC みたいに、メインとサブのネットワークをわけて、
1台を共有する場合だってある。
家庭では、大人と子供で、設定を変えて(アダルトサイトを見れないようにとか、システムいじれないようにとか)もするだろ。
管理者権限を付加するかどうかのいま、VistaのUACのほうがいらね〜よ
0215デフォルトの名無しさん
2007/02/13(火) 00:37:53ほとんどの人は管理者アカウントだけで使うだろう。
本当に標準アカウントで使ってほしかったんだったら、標準アカウントをデフォルトにして、
OSの設定いじるような時はそのためのパスワード入力必須、パスワード入れたら管理者
アカウントに切り替わる(ただし、管理者アカウントというのが存在する事は意識させない)
みたいな仕様にできなかったものか。
0216デフォルトの名無しさん
2007/02/13(火) 01:11:500217デフォルトの名無しさん
2007/02/13(火) 01:51:34XPまででも普段からAdministratorsグループのアカウントを常用する奴が多かったから、
とりあえずそいつらに対する対策を取ったということではないだろうか。
0218デフォルトの名無しさん
2007/02/13(火) 02:00:40それは逆なケースも多いと思うぞ。昔から使ってるアプリケーション
が管理者権限を持つユーザじゃないとまともに動作しないってことが
現実にあるし。
0219デフォルトの名無しさん
2007/02/13(火) 07:43:12まあ、もっと単純にシングルユーザとはブランドを別ければよかったようにも思うな
1台のUSB-HDDとかUSBフラッシュに、ユーザー情報を全部押し込められるような
仕様にして、それもWindowsだという事にすると。
そうすりゃ、ユーザ数分OSが売れてMSもウハウハ
ユーザも、USBメモリだけ持ち歩けば出先のパソコンを汚さず自分の環境が使えて楽と
0220デフォルトの名無しさん
2007/02/13(火) 08:05:53一般権限と管理者権限じゃ乗っ取られたときのダメージが違うだろ?
…あんまり変わらん?
0221デフォルトの名無しさん
2007/02/13(火) 08:47:49ユーザ権限が弱すぎるからなんだし、これを強化すればそれだけでよかった気もする。
Program Filesはデフォルトでは空っぽにして、Windows付属ソフトはWindowsフォルダに全部ぶちこんで
そこだけを管理者以外触れないようにするとか
0222デフォルトの名無しさん
2007/02/13(火) 09:00:50それ以外のウイルスの大半はマイクロソフトのセキュリティホールの問題がでかい。
メーラーでマクロとか無意味だよ。
0223デフォルトの名無しさん
2007/02/13(火) 09:55:59管理権限が無くても
アプリさえ走らせられたらVNCもどきで利用画面覗いたり
個人情報の抜き取りとか迷惑メールの踏み台にするとかには何の支障もないだろ
キーロガーのようなDLLが必要なのはともかく
0224デフォルトの名無しさん
2007/02/13(火) 10:20:070225デフォルトの名無しさん
2007/02/13(火) 13:19:50そうだなあ。
UNIXの管理してた頃はとにかくroot絶対死守だったけど、
いまどき一番問題なのは個人情報だから一般権限のほうが大事だもんなあ。
0226デフォルトの名無しさん
2007/02/13(火) 14:18:57一般アプリも署名必須設定にできるんじゃないかな
現時点でデフォルトをこれにするのは無謀だが・・・
activexのcabパッケージはやったけども
0227デフォルトの名無しさん
2007/02/13(火) 15:49:330228デフォルトの名無しさん
2007/02/13(火) 17:22:440229デフォルトの名無しさん
2007/02/13(火) 17:24:380230デフォルトの名無しさん
2007/02/13(火) 19:53:09そんなことやったら、非難轟々だと思う。
シェアが低くて、信者が必死で擁護するMacじゃなきゃ無理。
0231デフォルトの名無しさん
2007/02/13(火) 20:25:290232デフォルトの名無しさん
2007/02/13(火) 20:26:510233デフォルトの名無しさん
2007/02/13(火) 20:52:28未だににまがりなりにもDOSの資産を引き継いでるんだから、切り捨ての
連続でやってきたAppleと比べりゃたいしたもんだ。
0234デフォルトの名無しさん
2007/02/13(火) 21:56:150235デフォルトの名無しさん
2007/02/13(火) 22:11:320236デフォルトの名無しさん
2007/02/13(火) 22:19:360237デフォルトの名無しさん
2007/02/13(火) 22:21:470238デフォルトの名無しさん
2007/02/13(火) 22:28:13どういうセキュリティ上の制限なんだろう
0239デフォルトの名無しさん
2007/02/13(火) 23:10:45UACきってもダメだし。
0240デフォルトの名無しさん
2007/02/14(水) 03:30:28うおお、下らん制限だ
0241デフォルトの名無しさん
2007/02/14(水) 06:37:32ユーザー権限での使用はUACで便利になった。
今まで管理者で使ってた人は「不便になった」としか感じないだろうが
>>238
MIL。コマンドプロンプトのウィンドウはcsrss.exe(IL=System)が出してるから。
>>239
ページファイル攻撃に対策するための仕様。
http://www.itmedia.co.jp/enterprise/articles/0610/21/news011.html
0242デフォルトの名無しさん
2007/02/14(水) 06:40:57> VNCもどきで利用画面覗いたり
> 迷惑メールの踏み台にするとかには
管理者権限がないとWindowsファイアウォールに穴を開けられない。
0243デフォルトの名無しさん
2007/02/14(水) 09:25:33サーバを組み込むタイプは制限されるかもしれないが
VNCでもワンクリック(ビュアーリスニングモード)タイプだとどうなの?
メール送信の踏み台にも、たとえばHTTPで送信内容を取得して、送信するアプリ書かれたら
ファイアウォールで防げる?
0244デフォルトの名無しさん
2007/02/14(水) 10:42:48Vistaのファイアウォールって、デフォルトでインバウンド・アウトバウンド両方共
有効なんだっけ?
0245デフォルトの名無しさん
2007/02/14(水) 12:07:50所詮Windowsだろ?
壁自体に穴が空いてるよ・・・
0246デフォルトの名無しさん
2007/02/14(水) 12:13:440247デフォルトの名無しさん
2007/02/14(水) 12:31:46それを言うなら、壁自体に窓が開いてる・・・・
0248デフォルトの名無しさん
2007/02/14(水) 12:57:45デケェなオイw
0249デフォルトの名無しさん
2007/02/14(水) 13:33:10編集モードを有効にするとあら不思議
0250デフォルトの名無しさん
2007/02/14(水) 19:28:22壁に窓が開いてるのは当たり前のような
0251デフォルトの名無しさん
2007/02/14(水) 20:16:26お前頭いいな
0252デフォルトの名無しさん
2007/02/15(木) 07:11:01おまえカプセルホテル使ったことないだろ
■ このスレッドは過去ログ倉庫に格納されています