vista対策
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/06(月) 20:41:330052デフォルトの名無しさん
2006/11/12(日) 17:26:29> 確かセットアップの権限が変更されないで
セットアップのほうはインストーラとして検出されるようにするかrequiredAdministratorな
マニフェストをつけないとだめだよ。
あとセットアップを起動するときはCreateProcessじゃなくてShellExexuteを使わないと
ERROR_ELEVATION_REQUIREDと怒られて起動できない。
まとめると
・ランチャーにはasInvokerなマニフェストをつける
・インストーラにはrequiredAdministratorなマニフェストをつける
・実行ファイルにはマニフェストをつけない
・ランチャーからは互換性フォルダが見えなくなるので注意
0053デフォルトの名無しさん
2006/11/13(月) 02:12:23今は日本語にしてくれる人が居るんだね、当時は英語だったんで辞書引きながら見てたよ。
そうそう、確かマニフェストだと、権限は引き継ぎか上位への変更だけで、
インストール権限から通常権限に下げられないのと、権限が変更される場合にUACのメッセージが出るからだったかな。
常時動かすのに権限変更のメッセージは許容出来なかったんで。(あと実行プログラムを常時adminで動かすのに抵抗もあったし)
それから、呼び出しは最初はShellExecuteにしてたけどこれだと権限の変更が出来なかったんで、
CreateProcessを使ったけど状況が変わらず。CreateProcessAsUserでユーザー偽装しようとしたら動きさえしなかったって感じだった。
確かによくよく考えてみると>>52のでなら上手く行く気もする。
当時、インストーラから実行するのに囚われすぎてて考えが及ばなかったのかも。
あとで試してみるよ。
0054デフォルトの名無しさん
2006/11/13(月) 09:17:08設定を書き込んだり消したりするようなつくりだと、ユーザーが
UACを切ったり付けたりしたら挙動に矛盾が起きないかな?
それを解消するようなマニフェストってある?
0055デフォルトの名無しさん
2006/11/13(月) 14:42:44どうしても矛盾を起こしたくないならrequiredAdministratorを使うしかないと思うけど。
ただUACのON/OFFはOS挙動だしユーザーが変更する部分だから
上の例の様に、通常状態で挙動が矛盾してしまうならともかく
そこまで気にする必要は無いんじゃないかな。
もしくはマイクロソフトの言うとおりに、自前で直接User下に放り込むか。
もともとUACってProgram filesに設定を置くなって言うマイクロソフトのガイドラインに
誰も従わなかったんで強行策に出たって感じだろうし、vista出てしばらくは混乱するだろうね。
0056デフォルトの名無しさん
2006/11/14(火) 00:27:10>>37
の対処法がステキすぎる
0057デフォルトの名無しさん
2006/11/14(火) 01:00:07> プログラムを常時adminで動かすのに抵抗もあったし)
requiredAdministratorなマニフェストで試してなかった?
asInvokerなマニフェストではUACのダイアログは出ないから大丈夫。
> 呼び出しは最初はShellExecuteにしてたけどこれだと権限の変更が出来なかったんで、
起動するexeにマニフェストが付いてないとだめということになってる。
(付いてなくても権限上昇できるチートがWin32 APIスレのPart 46に出てたが)
> CreateProcessAsUserでユーザー偽装しようとしたら動きさえしなかったって感じだった。
それは純正のrunasでもできないので仕様だと思われ
0058デフォルトの名無しさん
2006/11/14(火) 01:05:10MSの推奨は全部の実行ファイルにマニフェストを付けて
(これで互換性フォルダが無効になるので互換性フォルダにかかわる矛盾も生じない)、
設定はProgram Filesに書き込まないこと。
もしProgram Filesへ書き込む設計を維持しつつ、という意味ならMSはそれを
やめさせたいんだからそんなものあるわけない。
互換性フォルダはあくまでレガシーなアプリのための救済策。
0059デフォルトの名無しさん
2006/11/14(火) 01:30:44標準ユーザーでUACオフにしたとき困るから
> UACを切ったり付けたりしたら
という前提では不適切かも。>>54が標準ユーザーの場合まで考慮してるのかどうかは
知らないけど
0060デフォルトの名無しさん
2006/11/14(火) 09:19:17インストールして初回起動はsetpu.exeがランチ。
次回はデスクトップのショートカットから(setupの文字を
含まない)実行ファイルを起動したらそれだけで矛盾し
ちゃわない?
新しいアプリは何らかの対策を施せるけど、古いアプリを
継続して使いたいひとはUAC切るかインストール場所を
Userの下にするかすればOKなのかな? プログラム板的
には板違いの話かも知れないけど、古いアプリを暫定で
サポートする時の参考になれば思って。
0061デフォルトの名無しさん
2006/11/14(火) 12:14:20すまぬ。ちょっと前提が抜けてね。
>インストール権限から
ということでランチャーはセットアップを兼ねてるものです。
なのでasInvokerを付けると、そのままインストール権限が持ち越しされてしまう(当時確認済み)
つーかマニフェストに通常権限にする命令があればそれで事足りるのになんで無いんだよ!!って話です。
なので>>52の手法の様にランチャーが通常権限になるようにしていればasInvokerでよかったんでしょうね。
0062デフォルトの名無しさん
2006/11/14(火) 19:47:12とりあえず初回起動はインストーラから行わないように運用で回避してる
0063デフォルトの名無しさん
2006/11/15(水) 15:52:14Windows以下もダメだろうけど、判断できるようなAPIってないですかねぇ?
0064デフォルトの名無しさん
2006/11/15(水) 20:35:35判断するAPIまで互換性フォルダにだまされるかもしれないけど(試してない)。
0065デフォルトの名無しさん
2006/11/15(水) 21:27:36でやっとくか。
0066デフォルトの名無しさん
2006/11/18(土) 22:03:29ただしレガシーアプリが作成したフォルダやレガシーアプリが
書き込んだことのあるファイルは互換性フォルダにリダイレクトされるせいか
以後、書き込み可能だと判断されるようになる。
%ProgramFiles%のルートに書き込めるかどうかで判断したほうがいいかも。
しかしAccessCheckは呼び出すのがめちゃくちゃ面倒くさいな
0067デフォルトの名無しさん
2006/11/20(月) 03:36:06既にあるプログラムについては、諦めて普通にOSの互換性の機能使った方がいい気がする。
プログラムのプロパティ内の互換性タブに、
特権レベルの設定として「管理者としてこのプログラムを実行する」っていうのがあるのは
多分MSとしてはコレ使えってことだと思われ。
ただ一番楽なのはやっぱりUAC切れってところかも知れんがw
0068デフォルトの名無しさん
2006/11/20(月) 16:30:30権限昇格無しにProgram Filesのファイルを書き換えようとすると、ファイルの
上書きに失敗するし、かといって、requiredAdministratorなマニフェストを付加
すると起動のたびに権限昇格のダイアログが開いてとてもウザイんですけど・・・
>>37の対処法なら問題ないんだけどさ・・・
0069デフォルトの名無しさん
2006/11/20(月) 18:00:22そうすればアップデート時だけダイアログが出る感じになるし。
もともとUACってProgram Filesを勝手に弄られることによるセキュリティの低下を防ぐのがコンセプトだから
ダイアログを出さないようにって言うのは出来ちゃいけないことだろうし。
随時データを書き換えるって言うのは出来なくなっちゃうだろうけど。
ちなみにUACではアップデートもちゃんと考えてるらしく、
プログラム名をupdate.exeにしたら権限変わった。
なので手動での差分当てレベルなら今まで通りでいいと思う。
007068
2006/11/20(月) 18:32:17いままでアップデータ自体をアップデートしたい時、
アップデータEXEが終了し親EXEに制御が移ったときに、
ダウンロードされたアップデータEXEのアップデートファイルを
上書きしてたんだけど、それが出来なくなるってのは
回避できないっすよね?
コレを可能にしようとすると親EXEにも・・・となって堂々巡りに・・・
0071デフォルトの名無しさん
2006/11/20(月) 19:59:140072デフォルトの名無しさん
2006/11/20(月) 23:40:22アップデータを別exeに分けて「更新」ボタンには盾アイコンをつける。
自動更新が必要ならサービスをインストールする。
常駐プロセスを増やしたくないならタスクに登録する(最近のQuickTimeと一緒に
入ってくるASUでもやってる)。
>>69
> プログラム名をupdate.exeにしたら権限変わった。
それもsetup.exeと一緒でインストーラ検出の機能なので無効な場合もある。一応。
>>70
APIスレで自分自身を削除する話が出てるからその応用で
親exeに戻らず自分の分身を作ってその分身に上書きすればいい。
子プロセスは権限を引き継ぐから。
>>71
ルート直下は誰でも作れて作成者はフルアクセスが得られるけど他のユーザーは
読み取りのみ。XPと同じ。
0073デフォルトの名無しさん
2006/11/21(火) 17:40:54MoveFileEx MOVEFILE_DELAY_UNTIL_REBOOTが失敗するよ(ノД`)
0074デフォルトの名無しさん
2006/11/21(火) 19:07:370075デフォルトの名無しさん
2006/11/21(火) 19:59:35(HKEY_LOCAL_MACHINE配下)のレジストリに値を書き込むからな
0076デフォルトの名無しさん
2006/11/24(金) 12:26:18プログラム名をsetup.exeにすれば問題全部解決出来る!!!11!!!!!1!
0077デフォルトの名無しさん
2006/11/26(日) 21:44:070078デフォルトの名無しさん
2006/11/27(月) 13:07:43自分自身のパスのドライブレターがUNCになっちゃうんだけど回避方法無いかな?
(一般ユーザ)
z:\xxx\HOGE.EXE ←実行
↓
z:\xxx\HOGE.EXE ←アプリが判断した自分のパス
(管理者)
z:\xxx\HOGE.EXE ←実行
↓
\\(IP)\zzz\xxx\HOGE.EXE ←アプリが判断した自分のパス
UACを切らずになんとか・・・
0079デフォルトの名無しさん
2006/11/27(月) 16:44:09008078
2006/11/27(月) 17:22:58setup.exeでも同じ結果でした。
その上、DriveCmboBoxでネットワークドライブが選択できない状態で、
さらにアウアウになってます。
0081デフォルトの名無しさん
2006/11/27(月) 17:26:120082デフォルトの名無しさん
2006/11/27(月) 21:44:16そもそも実行もとの一般ユーザと同じドライブがマッピングされてるとは限らない
0084デフォルトの名無しさん
2006/11/27(月) 22:40:040085デフォルトの名無しさん
2006/11/28(火) 03:06:42そもそもXPで別ユーザー実行したときはどうしてたの? そんなのサポート外?
XPだとこんなの出たけど。
---------------------------
Z:\pwd.exe
---------------------------
Z:\pwd.exe
指定されたパスは存在しません。
パスが正しいか確認してください。
---------------------------
OK
---------------------------
008678
2006/11/28(火) 11:12:34kwsk
>>85
XPではサポート外というか起動出来ないようにして、管理者権限のユーザのみ使用可能にしてました。
レジストリ(LOCAL_MACHINE等)をいじったりするので、管理者権限無いと
動作する意味がないので。
0087デフォルトの名無しさん
2006/12/03(日) 19:45:21Windows95時代からマイナーチェンジのみ繰り返しているソフトで、プログラムをインストールしたディレクトリ
自身に設定ファイル(要Write)を置いているため、苦肉の策。
インストーラはInstallShield3(古っ!)を使っているが、そのスクリプト中からLaunchAppAndWait()で、インスト
ールディレクトリのセキュリティーを設定(SetNamedSecurityInfo())するプログラムを呼び出す。
これで、exeと同じディレクトリ(Program files下)にある設定ファイルへの書き込みも、アップデートプログラム
での書き込みもOK!
良い子は真似しないように。
P.S.
UACよりもWinHlp32( .hlp)が使えないのに泣いた・・・・・
0088デフォルトの名無しさん
2006/12/21(木) 21:49:14インストーラみたいなファイル名なのにインストールしないで終了すると
プログラム互換性アシスタントに文句言われるよ
0089デフォルトの名無しさん
2006/12/22(金) 01:00:120090デフォルトの名無しさん
2006/12/23(土) 00:53:49> CreateProcessAsUserでユーザー偽装しようとしたら動きさえしなかった
CreateProcessWithTokenWで降格に成功した。
トークンはエクスプローラのウィンドウからGetWindowThreadProcessId→
OpenProcess→OpenProcessToken→DuplicateTokenExで引っ張ってきた。
すでにログオン済みのユーザなので
プロファイルのロードや環境ブロックの作成は不要
0091デフォルトの名無しさん
2006/12/25(月) 21:09:06>インストールしないで終了する
ってどう判断してるの?
0092デフォルトの名無しさん
2006/12/27(水) 01:13:44[プログラムの追加と削除]にでてくるアプリのリスト( Unistaller レジストリキー配下のエントリ )が
更新されたかどうかなんじゃないの?
0093デフォルトの名無しさん
2007/01/19(金) 19:22:26皆さんどうしてますか?
0094デフォルトの名無しさん
2007/01/19(金) 22:37:240095デフォルトの名無しさん
2007/01/20(土) 11:45:16整合性が悪いって具体的には?
0096デフォルトの名無しさん
2007/01/20(土) 17:28:29ところがPCと一緒に納入するような高額なソフトだと、
メーカーPCがVista搭載になると同時に対応を迫られる。
まあ「まだ検証できてないんでXP買ってください」っていうんだけどなw
0097デフォルトの名無しさん
2007/01/21(日) 17:09:14どうすればいいんだろうか。
付箋紙系のソフトとか影響大きそう。
0098デフォルトの名無しさん
2007/01/22(月) 01:02:24>Vistaが普及するには2年かかるから
そんなにかかるかねえ?
うちのお客なんか、既にVISTAx64の心配してる・・・・・(WHQL未取得のデバドラがあるんで)
0099デフォルトの名無しさん
2007/01/25(木) 01:38:06IEコンポーネント使ってる部分でCSSが利いてねぇとか、
Aeroのときだけドロップダウンがへんなところで開くとか。
「MSがSP1だすまで、正式対応しません運動」をやろうよ。
半透明WindowなんかFlashですらとっくにできるのに、なんでわざわざOS変えなきゃならんのだ。
0100デフォルトの名無しさん
2007/01/25(木) 03:29:110101デフォルトの名無しさん
2007/01/25(木) 08:54:58ショートカットは削除できているのに…
0102デフォルトの名無しさん
2007/01/26(金) 19:20:34(UACが有効な環境はサポート対象外です)
0103デフォルトの名無しさん
2007/01/26(金) 19:30:180104デフォルトの名無しさん
2007/01/26(金) 20:40:130105デフォルトの名無しさん
2007/01/27(土) 02:57:370106デフォルトの名無しさん
2007/01/27(土) 09:10:41を埋め込むってことにはなりそうだな。
0107デフォルトの名無しさん
2007/01/27(土) 10:45:150108デフォルトの名無しさん
2007/01/27(土) 19:02:290109デフォルトの名無しさん
2007/01/27(土) 19:05:160110デフォルトの名無しさん
2007/01/28(日) 06:53:20どうせSP1でUAC機能はなくなる
0111デフォルトの名無しさん
2007/01/28(日) 12:11:21SP1でカーネルが Server側と同じになるからか?
0112デフォルトの名無しさん
2007/01/28(日) 13:02:590113デフォルトの名無しさん
2007/01/28(日) 13:13:040114デフォルトの名無しさん
2007/01/28(日) 19:24:31ServerならVisual Styleみたいにデフォルト無効にはなるかもしれないけど機能
そのものがなくなるとは考えにくいしクライアントOSであるVista SP1のデフォルト
設定はまた違うだろう。
Server 2003 SP1とXP x64がカーネルは共通だけど設定が異なるみたいに
0115デフォルトの名無しさん
2007/01/28(日) 21:46:05でも、UACがSP1で無くなるって話はどこから出たんだ。
0116デフォルトの名無しさん
2007/01/28(日) 22:27:100117デフォルトの名無しさん
2007/01/28(日) 23:25:26プログラマはやるよ。仕事だからな。
でもユーザはそうは思うまい。
こんなだとは知らずにVISTAパソコン買っちゃったけど
フリーソフトいろいろ動かないしXPにしたいなんて言い出すだろうな。
0118デフォルトの名無しさん
2007/01/28(日) 23:47:390119デフォルトの名無しさん
2007/01/29(月) 06:43:300120デフォルトの名無しさん
2007/01/29(月) 16:31:56VISTAの64bit版を入れるか迷うな。
0121デフォルトの名無しさん
2007/01/29(月) 20:08:16Program Filesもレジストリも普通にいじれてしまう。
こういう環境じゃテストにならないってことかな。面倒だな。
0122デフォルトの名無しさん
2007/01/29(月) 22:33:27実は仮想化されたフォルダやレジストリをいじってましたってオチじゃないよな
0123デフォルトの名無しさん
2007/01/30(火) 02:16:360124デフォルトの名無しさん
2007/01/30(火) 05:04:55もう戻れないw
0125デフォルトの名無しさん
2007/01/30(火) 08:52:44>こういう環境じゃテストにならないってことかな。面倒だな。
そういう環境「も」テスト汁、ってことじゃないか?
アプリケーション30分互換性チェックとやらでクリーンインストールとXP SP2からのアップグレードの2パターンが書いてあったけどそういう意味か。
何が30分だ。OSインストールするだけで一日かかるっつのw
0126デフォルトの名無しさん
2007/01/30(火) 09:04:36>ttp://www.so-net.ne.jp/support/information/vista.html
0127デフォルトの名無しさん
2007/01/30(火) 14:30:23CSSの解釈が仕様通りになったから、ページ崩れて見れなくなるだろうな
0128デフォルトの名無しさん
2007/01/30(火) 20:42:590129デフォルトの名無しさん
2007/01/30(火) 21:03:50馬鹿は黙ってろ
0130デフォルトの名無しさん
2007/01/30(火) 21:31:080131デフォルトの名無しさん
2007/02/02(金) 12:09:430132デフォルトの名無しさん
2007/02/02(金) 13:03:370133デフォルトの名無しさん
2007/02/05(月) 13:26:41製品版買っとくべきだよな…やっぱり
0134デフォルトの名無しさん
2007/02/05(月) 14:10:48タスクマネージャを見ると利用可能メモリが2KBwwwwww
こりゃ絶対メモリは2Gは必要ですぜ旦那。
0135デフォルトの名無しさん
2007/02/05(月) 15:07:16あんたプログラマ?
いや違うか。頭悪すぎだもんな。
0136デフォルトの名無しさん
2007/02/05(月) 15:29:340137デフォルトの名無しさん
2007/02/05(月) 18:36:190138デフォルトの名無しさん
2007/02/05(月) 20:01:29プログラマ志望の厨房か何かだろ。
0139デフォルトの名無しさん
2007/02/06(火) 05:42:54XPと比べて随分変わってる気がするが
0140デフォルトの名無しさん
2007/02/06(火) 06:10:33Aeroのように見た目が変わらなきゃ違いを認識できないやつは
この板じゃお呼びじゃないと思うが
0141デフォルトの名無しさん
2007/02/07(水) 10:17:48ttp://www.heartlogic.jp/archives/2007/02/windows_photogallery.html
一応、そこいらの本やヘルプを見た限りでは、この「何も聞かずに上書き保存」仕様をやめさせる設定項目はないようだ。
「オリジナルは別に保存しておこうね」とか、わけのわからないことを言ってる本もあるくらい。
0142デフォルトの名無しさん
2007/02/07(水) 10:38:59自動的にバックアップがとられたはず。
0143デフォルトの名無しさん
2007/02/07(水) 10:50:59じゃあ、iniファイルなんかはどこに置けば良いのでしょうか?
0144デフォルトの名無しさん
2007/02/07(水) 10:54:50mydocかなぁ
0145デフォルトの名無しさん
2007/02/07(水) 10:57:30ユーザー毎に設定するものじゃない場合は、
All Users\mydocがありますか?
Vi$taの互換性を甘く見てたため、未入手。
0146デフォルトの名無しさん
2007/02/07(水) 11:55:40お前・・・あほやろ?
0147デフォルトの名無しさん
2007/02/07(水) 13:41:510148デフォルトの名無しさん
2007/02/07(水) 15:14:57それ、Ultimateとかだけしかついてない。
0149デフォルトの名無しさん
2007/02/07(水) 15:24:110150デフォルトの名無しさん
2007/02/07(水) 15:28:110151デフォルトの名無しさん
2007/02/07(水) 15:32:14>>87
0152デフォルトの名無しさん
2007/02/07(水) 15:53:44■ このスレッドは過去ログ倉庫に格納されています