HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0302
dllの上書き11解決


リンク

2013/3/2(Sat) 20:11:27|NO.52663

dllファイルの上書きができる方法をご存知の方がいらっしゃいましたら教えて下さい。
よろしくお願いします。
(dllが何かの原因で破損していた場合、exeが起動した時に挙動がおかしくなってしまうのを防ぐ為に
上書きがしたいと思っています。)



この記事に返信する


甘酒

リンク

2013/3/2(Sat) 20:31:51|NO.52664

上書きと言うより、ふつうにプログラム側でdllを削除して、バックアップフォルダのdllをコピーする、じゃダメなのでしょうか。



甘酒

リンク

2013/3/2(Sat) 20:33:32|NO.52665

追記。
後、誰かさんがdllもpackできるプラグインを作ってたような・・?
過去ログ探せばあるはず。



aaa

リンク

2013/3/2(Sat) 20:40:00|NO.52666

>dllが何かの原因で破損していた場合
何の原因を考えているのか?

>dllファイルの上書き
ファイルのコビーでは不足なのか?
というか、dllの破損を考えるならば上書きの元となるdllが破損しているという状況も考えられる訳で・・・



リンク

2013/3/2(Sat) 21:43:08|NO.52667

甘酒さん、aaaさん
全く関係ないdllなら消せますが、使用しているプログラム側でdllを削除するとエラーになります。(絡めた他のexeから消すのも無理)
packdllも検証しましたが動作しませんでした。
ファイルチェックで概存のdllが破損しているとわかっても、プログラム側から削除してコピーする事ができません。
(存在していなければ作れますが…)
上書きする方法があれば知りたいと思い、質問させていただきました。

exe自体が壊れていたら…とかまでの極論は考えてないです。
不可能であるとわかったら、諦めます。



暇人

リンク

2013/3/2(Sat) 22:26:56|NO.52668

ファイルチェックと本体を別ければ良い
ファイルチェックが問題なければrunかexecで本体実行

>使用しているプログラム側でdllを削除するとエラーになります。
使用してるプログラム側って、事じゃなく
使用中のDLLは削除できない
起動中のEXEが削除できないのと同じ

>上書きする方法があれば知りたいと思い、質問させていただきました。
てか、削除も上書きも同じ理由で出来ない



@key

リンク

2013/3/3(Sun) 01:11:02|NO.52669

今のPCじゃDLL破損なんて万が一にもありませんよ・・・
大規模な会社が作ったツールでもDLLの破損対策をしてるところなんて聞いたことありません
変な挙動になったら再インストールして下さい、みたいにreadmeで促すだけで十分です



GENKI

リンク

2013/3/3(Sun) 02:01:55|NO.52670

どんな状況を想定しているのかはっきりしないので適切なアドバイスはできませんが、不正改造対策とか考えてるんでしょうか?
いずれにせよdllに何らかの変更が見つかったらユーザーに異常を伝えて、あとは他の方が言っておられるように再インストールしてもらうよう案内するのが一般的対応かと。

特別な理由がない限り一般的な対応を取っておいたほうがユーザーとしては安心出来ますよ。
もちろんそれなりの理由があるなら対応を考える必要ありますが、今回は説明不足なので一般的な対処法をおすすめしておきます。



甘酒

リンク

2013/3/3(Sun) 07:14:07|NO.52671

ふと思ったが、そんなに破損を心配するなら、
起動する度にinetでも使ってDLL配布元やロダから落としてくる、じゃダメなのだろうか。



リンク

2013/3/3(Sun) 08:00:48|NO.52672

設定用のiniファイルが、消しても起動する度に生成されるような感覚でdllも
無ければ生成、もし破損していたら上書きコピーができたら便利と思っただけなのですが…。
しかしdllでそれを簡易に行おうとしたところ、不可能でした。
試しにメインのAというexeからサブのB.exe(ファイルチェック、必要に応じてdll削除・生成を行う)を起動させても
dllが操作できなかった為に何故?と思ったのが純粋な趣旨です。
dllがそもそもpackできないように、元々無理な話なのか、工夫が足りないだけで実は方法があるのかが知りたかったので。
(私はA.exeでdllを実行する行よりも前にB.exeで操作できると思ったのですが、暇人さんのおっしゃられる様に使用中でした)
もう少し色々と見直してみようと思います。
ご回答下さった方々、ありがとうございました。



甘酒

リンク

2013/3/3(Sun) 08:39:00|NO.52673




暇人

リンク

2013/3/3(Sun) 20:26:16|NO.52689

>私はA.exeでdllを実行する行よりも前に
Aを起動した時点でDLLは使用されてる
命令を実行したかどうかは関係ない
だからBを起動してファイルチェック処理後
BからAを起動させるようにする必要がある

DLLをパックできるNO.51630のを使えば
こんな事する必要も無いだろうけど・・・



ONION software Copyright 1997-2023(c) All rights reserved.