修正パッチ

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
これから

修正パッチ

#1

投稿記事 by これから » 13年前

データの修復としては全く新しいファイルをダウンロードしてもらって上書きしてもらうという手があります
しかし、これだと私の思い描いている修正パッチというものではありません
それに、今までのセーブデータとかも消えてしまうと思います
私の知っているのはインストールすればパパっとバグの部分だけを直してくれる奴です(セーブデータも消えない)
しかしコンパイルもしてないのにバグが直ってしまうなんて不思議です・・・
何かそれ専用のツールとかあるんですかね?  

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 13年前
住所: 北海道札幌市
連絡を取る:

Re: 修正パッチ

#2

投稿記事 by Dixq (管理人) » 13年前

セーブデータを同梱していなければ上書きしても消えることは無いのではないでしょうか?
セーブデータは「なければ作る」という処理であれば同梱の必要ないですよね。

今対象としているのはゲームか何かの修正パッチですか?
それなら素材となるseやimageはそのままで実行ファイルだけ上書きすればいいように思います。

これから

Re: 修正パッチ

#3

投稿記事 by これから » 13年前

実行ファイル上書きというのではもし有料のソフトを直したい場合、駄目ですよね?
だからアプリ全体ではなく一部だけをダウンロードしてもらってバグを直す形式が知りたいのです

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: 修正パッチ

#4

投稿記事 by h2so5 » 13年前

差分パッチ作成ツールならここにいくつか載っています。
http://d.hatena.ne.jp/wwwcfe/20091213/binary_patch
これから さんが書きました:実行ファイル上書きというのではもし有料のソフトを直したい場合、駄目ですよね?
有料ソフトだとなぜ実行ファイル上書きでは駄目なんでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 修正パッチ

#5

投稿記事 by softya(ソフト屋) » 13年前

別にシェアウェア、同人ソフト、市販ゲーム、市販ソフトとか全てexeやdllを上書きしている物は多いはずです。
昔みたいにダウンロードに長い時間がかかった場合は修正差分パッチが必要なこともありましたが現代ではまず無いはずです。
置き換えるのがどんな問題を起こすと思われているのでしょうか?

差分パッチであろうと実行ファイル書き換えることには変わりありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ナギ
記事: 10
登録日時: 13年前
住所: 神奈川県

Re: 修正パッチ

#6

投稿記事 by ナギ » 13年前

そもそもシェアウェアならレジストリ管理とか実行ファイルではなく外部でシェア情報管理すれば修正用実行ファイルが
手に入れられても問題ないんじゃあないの?(これからさんの方法でいうと違法ダウンロードしたらどちらにせよ登録とかなくそのまま実行できてしまうし)

そもそも実行環境の中身が例えば
ゲームデータ
セーブデータ
実行ファイル
DLL
としたら修正用の実行ファイルだけ落として修正したとしてもその他のファイルには影響問題無いし
セーブも形式を変えていなければ実行ファイルで読み込めるし。
セーブデータの形式が変わっても前のバージョンとの互換性を付ければ問題無いわけだし。

それでも嫌なら他の方法としてはWDiff等々で直接実行ファイルを修正部分だけ書き換えるとかの方法もあるから
そういう方法をとるというのもありだとおもいますが

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: 修正パッチ

#7

投稿記事 by YuO » 13年前

なんとなくデジャブ……
http://dixq.net/forum/viewtopic.php?f=3&t=4075

通常のアップデートやパッチというのは,ファイル単位で(正確にはComponent単位だけれども)行われています。
というか,MS推奨のWindows Installerの仕組みはそうなっています。
# なので,Windows Updateですらファイルを上書きします。

セーブデータは%AppData%なり%LocalAppData%に最初に実行したタイミングで作れば問題は無いですよね。
インストール先は通常%ProgramFiles%以下なので,そもそもインストール先にセーブデータを保存するのは面倒ですし。
# インストールのタイミングでDACLいじって権限与えて……。

これから

Re: 修正パッチ

#8

投稿記事 by これから » 13年前

すいません よく分かっていませんでした・・・
みなさんの意見を見ているとどうやら自分の考えが間違っていたと伺えます

実行ファイルというのはクリックするとゲームを起動できてしまうので
それを配布すると有料ソフトを無料で遊ぶことが出来てしまうと思っていました
この考えは違うのでしょうか?    頭の悪い質問でごめんなさい

これから

Re: 修正パッチ

#9

投稿記事 by これから » 13年前

-- 2重投稿ですので削除しました -- by softya(ソフト屋)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 修正パッチ

#10

投稿記事 by softya(ソフト屋) » 13年前

これから さんが書きました:すいません よく分かっていませんでした・・・
みなさんの意見を見ているとどうやら自分の考えが間違っていたと伺えます

実行ファイルというのはクリックするとゲームを起動できてしまうので
それを配布すると有料ソフトを無料で遊ぶことが出来てしまうと思っていました
この考えは違うのでしょうか?    頭の悪い質問でごめんなさい
シェアウェアや市販ソフトであれば、ライセンスキーなどで利用可能になるので実行ファイルを配布しても問題はありません。
マイクロソフトのWindowsのプロダクトキーもそうですね。マイクロソフトは、更にアクティベーションと言う認証まで行っています。

同人ソフトならば、全部のファイルセットをダウンロードされれば動かせてしまうんで全部のファイルを修正用に配布してはいけません。
少なくとも後で絶対にバグが出ないDLLやファイル(ダミーでも可)を最初の販売時に混ぜておけば、それをチェックすれば正式なものかの判断は出来ると思います。
まぁ、あんまり目くじら立てたところで有名になったらP2Pで出回りかねませんしクラックされたら凝ったガードでも意味をなくします。
自分できるほどほどの対策をしておくのがよろしいかと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

gdgd

Re: 修正パッチ

#11

投稿記事 by gdgd » 13年前

ちょうどいいのでここに書き込みさせてもらいます
修正パッチってダウンロードしたあとにインストールすると思うのですが
インストールするとコンパイルしたのと同じになるのですか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 修正パッチ

#12

投稿記事 by softya(ソフト屋) » 13年前

修正パッチは、インストールする必要はありません。
修正パッチを行うとexeファイルなどの差分ですのでバイナリレベルで最新のexeファイルに置き換えられます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: 修正パッチ

#13

投稿記事 by YuO » 13年前

gdgd さんが書きました:修正パッチってダウンロードしたあとにインストールすると思うのですが
修正パッチへのイメージで異なるのでしょうが,私は「その通り」だと思います。
旧バージョンのComponentのアンインストールおよび新バージョンのComponentのインストールに相当するので。
gdgd さんが書きました:インストールするとコンパイルしたのと同じになるのですか?
インストールとコンパイルは全く異なります。
インストールは,「プログラムをそのマシンで利用可能にすること」で,
コンパイルは,「ソースコードを(特定の)マシンで解釈可能にすること」です。
コンパイルした結果を,インストールする事になります。

インストールでは,
  • プログラム本体を適切な場所にコピーすること
  • 必要なデータを適切な場所にコピーすること
  • 実行に必要な初期設定を行うこと。これには適切な権限を設定する事を含む
などを行います。実際問題として,最初2つは同じことですが。

閉鎖

“C言語何でも質問掲示板” へ戻る