vista対策
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/06(月) 20:41:3300022
2006/11/06(月) 20:43:0400033
2006/11/06(月) 20:43:1500044
2006/11/06(月) 20:49:0400055
2006/11/06(月) 22:22:22頭脳は・・
0006デフォルトの名無しさん
2006/11/06(月) 23:12:01とりあえず評価版いれてみれば?
0007デフォルトの名無しさん
2006/11/07(火) 01:06:070008デフォルトの名無しさん
2006/11/07(火) 03:01:11何かまとめれアホ
0009デフォルトの名無しさん
2006/11/07(火) 04:40:45例:C:\Document and SettingsフォルダなくなってC:\User
とか
0010デフォルトの名無しさん
2006/11/07(火) 06:09:51そのフォルダをじかに参照するソフトは、それはそれで問題あるかも。
ちゃんとやるにはレジストリから実際のフォルダを引っ張ってくるでしょ。
そしてレジストリから引っ張ってくるならその違いは問題になっていないはず。
0011デフォルトの名無しさん
2006/11/07(火) 06:33:05C:¥Document and Settings フォルダのパスを正式に取得する方法は実はなかったりする。
C:¥Document and Settings¥hoge フォルダの CSIDL あっても
C:¥Document and Settings フォルダの CSIDL はない罠。
0012デフォルトの名無しさん
2006/11/07(火) 08:41:36もうINIはだめですか?
0013デフォルトの名無しさん
2006/11/07(火) 10:26:58何?もしかしてロングネームや空白使わないよ〜にしよ〜的動きがあるのか?
0014デフォルトの名無しさん
2006/11/07(火) 13:19:50ああ、データの位置などか。それは確かに面倒だな。
でも、置換ですぐに対処できると思うが。
0015デフォルトの名無しさん
2006/11/07(火) 13:26:18普通はAPIで取ってるよね?
0016デフォルトの名無しさん
2006/11/07(火) 16:18:56%APPDATA%
にフォルダ作ってそこにini等の設定ファイルを置けばいいのでは。
0017デフォルトの名無しさん
2006/11/07(火) 17:52:45XMLで書けよぷげらっちょ
0018デフォルトの名無しさん
2006/11/07(火) 19:12:17ありがとう。
APPDATAはユーザ別にデータ持たせたい場合ですが、ユーザごとに
共通のデータはどこに置いたらいいのでしょうか?
0019デフォルトの名無しさん
2006/11/07(火) 20:04:10iniの方が書き換えが楽
0020デフォルトの名無しさん
2006/11/07(火) 21:10:000021デフォルトの名無しさん
2006/11/07(火) 21:14:35UAC環境下でProgram Files配下のiniを書き換えようとするとマジはまるぞ。
0022デフォルトの名無しさん
2006/11/07(火) 21:19:57プログラムからの読み取りは、ライブラリが充実しているから、XMLのほうが楽だと思う。
0023デフォルトの名無しさん
2006/11/07(火) 23:50:56はっきり言って意外だったが助かった。
0024デフォルトの名無しさん
2006/11/08(水) 08:19:43%ALLUSERSPROFILE%\Application Data
0025デフォルトの名無しさん
2006/11/08(水) 11:00:23.netならアクセスも超楽チン
iniなんて終わってる
0026デフォルトの名無しさん
2006/11/08(水) 12:52:100027デフォルトの名無しさん
2006/11/08(水) 16:35:45http://pc8.2ch.net/test/read.cgi/tech/1157349228/l50
0028デフォルトの名無しさん
2006/11/08(水) 17:31:22動いちゃうんだろうな。
それともvista対策って、vistaからできる新機能の使い方の
勉強でもしようかってことなのか?
0029デフォルトの名無しさん
2006/11/08(水) 22:41:54Vistaでは%SystemDrive%\ProgramDataになっていますが何か。
だからAPIを使えと(ry
# そのAPIすらSHGetKnownFolderPathなんてのが新設されて今後はこっち使えとか
# 言ってるし。もう何を信じたらいいのやら
0030デフォルトの名無しさん
2006/11/08(水) 23:24:24しかもERROR_SUCCESSを返してきやがる。
MANIFESTでexe起動時に管理者権限に昇格するダイアログを表示させて
権限を得ればいいらしいけど、エラーくらい正しく返してきやがれorz
0031デフォルトの名無しさん
2006/11/09(木) 01:28:22インストールに失敗したりする馬鹿なインストーラ対策。
asInvokerなマニフェストでいいから付けておけば権限取得も必要ないし
変な偽装はやめてくれるよ。
0032デフォルトの名無しさん
2006/11/09(木) 01:32:52あ、ちゃんとエラーを返してくれるはずという意味で
本当に書き込みたいならもちろん権限取得が必要。
0033デフォルトの名無しさん
2006/11/09(木) 14:03:05ファイルをアンインストール(DeleteFile)してもファイル
が消えないです。
こういう場合はどうするのがセオリーでしょうか?
(ユーザー権限はAdminです)
UACを無効にすればひとまず回避できますが、ユーザーに
それをお願いするのもイマイチですし…
0034デフォルトの名無しさん
2006/11/09(木) 17:11:03setupかinstallという文字列が入ってると、
昇格ダイアログを出してくれるらしい。
0035デフォルトの名無しさん
2006/11/09(木) 17:35:25//バージョンごとに処理を切り分ける
if(osver == WIN9X)
{
...
}
else if(osver == WIN2K || osver == WINXP)
{
...
}
ってなってるところをVistaも通るようにする処理だな。
漏れのプログラムこんなの大杉orz
0036デフォルトの名無しさん
2006/11/10(金) 19:49:062.メディアから起動するランチャーで実行ファイルを起動すると、UACが働かずに
インストールフォルダにデータなどが生成される。
3.実行ファイルを直接(あるいはショートカットなどから)起動すると、UACが働き
互換性フォルダが生成され、その中にデータなどが生成される。
4.ランチャーで実行ファイルを起動すると、UACが働かないのでインストール
フォルダ内のデータのみを読み込み・更新する。
5.実行ファイルを直接(あるいはショートカットなどから)起動すると、UACが働き
インストールフォルダ・互換性フォルダ両方のデータを参照する。
同一のファイル名が存在する場合には互換性フォルダ内のファイルが優先される。
新規作成・更新は互換性フォルダにのみ適用
以上転載終わり。
なぁこれどうやって対処したらいいと思う?βの時に散々対応しようとして挫折したんだが。
無理矢理、ランチャーからプログラムの実行ユーザーを偽装しようとしても上手く行かないし。
互換性フォルダ見に行くようにしようとも考えたけど、UAC切ってるユーザーもあること考えるとそれもどうかと思うし。
MSの言うとおりUser下にフォルダ作るのもユーザーの使い勝手からあまりやりたくないんだよねぇ
0037デフォルトの名無しさん
2006/11/10(金) 22:01:39促すよう変更しようかと思ってる。
0038デフォルトの名無しさん
2006/11/11(土) 00:25:03アンインストーラにmanifest付けて権限を取得させる。
>>34
それはあくまでレガシーなアンインストーラのための救済策で、
スレタイ通り新規にVista対策するならやるべきではない。
■ このスレッドは過去ログ倉庫に格納されています