ページ 1 / 1
修正パッチ
Posted: 2011年4月10日(日) 17:36
by これから
データの修復としては全く新しいファイルをダウンロードしてもらって上書きしてもらうという手があります
しかし、これだと私の思い描いている修正パッチというものではありません
それに、今までのセーブデータとかも消えてしまうと思います
私の知っているのはインストールすればパパっとバグの部分だけを直してくれる奴です(セーブデータも消えない)
しかしコンパイルもしてないのにバグが直ってしまうなんて不思議です・・・
何かそれ専用のツールとかあるんですかね?
Re: 修正パッチ
Posted: 2011年4月10日(日) 18:03
by Dixq (管理人)
セーブデータを同梱していなければ上書きしても消えることは無いのではないでしょうか?
セーブデータは「なければ作る」という処理であれば同梱の必要ないですよね。
今対象としているのはゲームか何かの修正パッチですか?
それなら素材となるseやimageはそのままで実行ファイルだけ上書きすればいいように思います。
Re: 修正パッチ
Posted: 2011年4月10日(日) 18:33
by これから
実行ファイル上書きというのではもし有料のソフトを直したい場合、駄目ですよね?
だからアプリ全体ではなく一部だけをダウンロードしてもらってバグを直す形式が知りたいのです
Re: 修正パッチ
Posted: 2011年4月10日(日) 18:40
by h2so5
差分パッチ作成ツールならここにいくつか載っています。
http://d.hatena.ne.jp/wwwcfe/20091213/binary_patch
これから さんが書きました:実行ファイル上書きというのではもし有料のソフトを直したい場合、駄目ですよね?
有料ソフトだとなぜ実行ファイル上書きでは駄目なんでしょうか?
Re: 修正パッチ
Posted: 2011年4月10日(日) 18:41
by softya(ソフト屋)
別にシェアウェア、同人ソフト、市販ゲーム、市販ソフトとか全てexeやdllを上書きしている物は多いはずです。
昔みたいにダウンロードに長い時間がかかった場合は修正差分パッチが必要なこともありましたが現代ではまず無いはずです。
置き換えるのがどんな問題を起こすと思われているのでしょうか?
差分パッチであろうと実行ファイル書き換えることには変わりありません。
Re: 修正パッチ
Posted: 2011年4月10日(日) 18:47
by ナギ
そもそもシェアウェアならレジストリ管理とか実行ファイルではなく外部でシェア情報管理すれば修正用実行ファイルが
手に入れられても問題ないんじゃあないの?(これからさんの方法でいうと違法ダウンロードしたらどちらにせよ登録とかなくそのまま実行できてしまうし)
そもそも実行環境の中身が例えば
ゲームデータ
セーブデータ
実行ファイル
DLL
としたら修正用の実行ファイルだけ落として修正したとしてもその他のファイルには影響問題無いし
セーブも形式を変えていなければ実行ファイルで読み込めるし。
セーブデータの形式が変わっても前のバージョンとの互換性を付ければ問題無いわけだし。
それでも嫌なら他の方法としてはWDiff等々で直接実行ファイルを修正部分だけ書き換えるとかの方法もあるから
そういう方法をとるというのもありだとおもいますが
Re: 修正パッチ
Posted: 2011年4月11日(月) 13:01
by YuO
なんとなくデジャブ……
http://dixq.net/forum/viewtopic.php?f=3&t=4075
通常のアップデートやパッチというのは,ファイル単位で(正確にはComponent単位だけれども)行われています。
というか,MS推奨のWindows Installerの仕組みはそうなっています。
# なので,Windows Updateですらファイルを上書きします。
セーブデータは%AppData%なり%LocalAppData%に最初に実行したタイミングで作れば問題は無いですよね。
インストール先は通常%ProgramFiles%以下なので,そもそもインストール先にセーブデータを保存するのは面倒ですし。
# インストールのタイミングでDACLいじって権限与えて……。
Re: 修正パッチ
Posted: 2011年4月11日(月) 17:41
by これから
すいません よく分かっていませんでした・・・
みなさんの意見を見ているとどうやら自分の考えが間違っていたと伺えます
実行ファイルというのはクリックするとゲームを起動できてしまうので
それを配布すると有料ソフトを無料で遊ぶことが出来てしまうと思っていました
この考えは違うのでしょうか? 頭の悪い質問でごめんなさい
Re: 修正パッチ
Posted: 2011年4月11日(月) 17:43
by これから
-- 2重投稿ですので削除しました -- by softya(ソフト屋)
Re: 修正パッチ
Posted: 2011年4月11日(月) 17:55
by softya(ソフト屋)
これから さんが書きました:すいません よく分かっていませんでした・・・
みなさんの意見を見ているとどうやら自分の考えが間違っていたと伺えます
実行ファイルというのはクリックするとゲームを起動できてしまうので
それを配布すると有料ソフトを無料で遊ぶことが出来てしまうと思っていました
この考えは違うのでしょうか? 頭の悪い質問でごめんなさい
シェアウェアや市販ソフトであれば、ライセンスキーなどで利用可能になるので実行ファイルを配布しても問題はありません。
マイクロソフトのWindowsのプロダクトキーもそうですね。マイクロソフトは、更にアクティベーションと言う認証まで行っています。
同人ソフトならば、全部のファイルセットをダウンロードされれば動かせてしまうんで全部のファイルを修正用に配布してはいけません。
少なくとも後で絶対にバグが出ないDLLやファイル(ダミーでも可)を最初の販売時に混ぜておけば、それをチェックすれば正式なものかの判断は出来ると思います。
まぁ、あんまり目くじら立てたところで有名になったらP2Pで出回りかねませんしクラックされたら凝ったガードでも意味をなくします。
自分できるほどほどの対策をしておくのがよろしいかと思います。
Re: 修正パッチ
Posted: 2011年4月17日(日) 12:01
by gdgd
ちょうどいいのでここに書き込みさせてもらいます
修正パッチってダウンロードしたあとにインストールすると思うのですが
インストールするとコンパイルしたのと同じになるのですか?
Re: 修正パッチ
Posted: 2011年4月17日(日) 13:08
by softya(ソフト屋)
修正パッチは、インストールする必要はありません。
修正パッチを行うとexeファイルなどの差分ですのでバイナリレベルで最新のexeファイルに置き換えられます。
Re: 修正パッチ
Posted: 2011年4月17日(日) 14:07
by YuO
gdgd さんが書きました:修正パッチってダウンロードしたあとにインストールすると思うのですが
修正パッチへのイメージで異なるのでしょうが,私は「その通り」だと思います。
旧バージョンのComponentのアンインストールおよび新バージョンのComponentのインストールに相当するので。
gdgd さんが書きました:インストールするとコンパイルしたのと同じになるのですか?
インストールとコンパイルは全く異なります。
インストールは,「プログラムをそのマシンで利用可能にすること」で,
コンパイルは,「ソースコードを(特定の)マシンで解釈可能にすること」です。
コンパイルした結果を,インストールする事になります。
インストールでは,
- プログラム本体を適切な場所にコピーすること
- 必要なデータを適切な場所にコピーすること
- 実行に必要な初期設定を行うこと。これには適切な権限を設定する事を含む
などを行います。実際問題として,最初2つは同じことですが。