ソフトの配布後にバグが見つかったら?

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

ソフトの配布後にバグが見つかったら?

#1

投稿記事 by ふにみふ » 15年前

ゲームソフトを作っていて最終的にはコミケなどで販売できればと思っている者です。

出来る限り努力はしても配布後バグが見つからないということも正直ないと思います。
そこでタイトルどおりの質問なのですが、配布後にバグが見つかった場合どのように対応するのが妥当なのでしょうか?
コミケで売られている作品を見てもバグは出来る限り対応します等、配布後の対応について書かれているものもありますが、
皆さんはどのように対応してらっしゃるのでしょう?

ここで配布されている龍神録のようにフリーであれば、単純に改良版をアップすれば何の問題もありませんが、
有料となるとどうしてよいものか…

私の思いつくところですと、画像や音楽のファイルは配布せず、exeの実行ファイルのみ再配布。
というものしか思いつきません…
わかる方がいらっしゃいましたら、妥当な対応策を教えていただけないでしょうか?

YuO

Re:ソフトの配布後にバグが見つかったら?

#2

投稿記事 by YuO » 15年前

Samll UpdateやMinor Updateを配布するのが基本です。
MSDN: Small Updates (Windows)
http://msdn.microsoft.com/en-us/library/aa371855.aspx
MSDN: Minor Updates (Windows)
http://msdn.microsoft.com/en-us/library/aa370037.aspx

大規模にやっているのはWindows Updateですが,
それ以外でも通常はバグフィックス用のパッチを提供しています。
SITE: A-Train8 SUPPORT
http://www.artdink.co.jp/japanese/title ... pport.html
市販でなくても,同人でパッチを提供している探すとあるようです。
やることは,基本的にファイルの入れ替えです。
実行ファイルだったり,スクリプトファイルだったり。


Windows Installerの作成には,SDKだけ,というのもあるとは思いますが,
WiXのようなものもあります。

SITE: Windows Installer XML (WiX) toolset
http://wix.sourceforge.net/
SITE: WiXではじめるWindows Installer作成入門 第1回(1/3):CodeZine
http://codezine.jp/article/detail/428?p=1


Windows Installerを使わないような方法であれば,自分でパッチ機構を用意するなり,
パッチ機構のあるインストーラを使うのがよいでしょう。

ラッコ

Re:ソフトの配布後にバグが見つかったら?

#3

投稿記事 by ラッコ » 15年前

販売したものなどはパッチなどを
サイト内で配布するのが一番いいのではないでしょうか。

たぶんそれが一番適切?なやり方なのではないでしょうか。

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#4

投稿記事 by ふにみふ » 15年前

回答ありがとうございます。
ラッコさんYuOさん共にパッチというものを使用する方法ということですよね?

YuOさんのリンク先を拝見しましたが、まったくわからず呆然としてしまいました…orz
その後もパッチという言葉でいくらか検索をしてみましたが、
かなり難解で自分に出来るのかと不安になってきました…

パッチの原理なども調べようと思いましたが、思うような情報は出てこず…
if(hennsuu==0)と書いたプログラムだったが、本当は==1だった!
というようなとき、パッチを使用すれば、この部分を差し替えることが出来るのですか?
原理を簡単にで良いので教えていただけると…

あと調べているうちに何度かDiffというものを見たのですが、これを使用すればよいのでしょうか?

さらに、これもまた調べているときに見た文章なのですが、
パッチは回線が遅かった時代に使用していた物であって、今は単純に新しいexeファイルを作って配布すればよいというのも一度見かけました。
まだ色々とわからない私からすると、新しくexeファイルを作る。という方法でも良いように見えますが…
ゲームの場合、画像や音楽に容量をとられるだけで、exeファイル自体ですと、それほど容量も重くありませんし…

自分の環境を最初に書いていなかったので記述しておきます。
ソフトはBCC Developerでボーランドでプログラムを組んでいます。

softya

Re:ソフトの配布後にバグが見つかったら?

#5

投稿記事 by softya » 15年前

昔のパッチはexeファイルのバイナリの差分パッチって意味でしたが、近年は差分ファイルだけ差し替えるって意味でもパッチと呼んでますね。
インストーラで配布したなら、同じインストーラの差分パッチ機能で配布したほうが購入者の操作が楽ですのから、exeファイルだけを配布するのはお勧めできません。
それは一般のWindowsユーザーは、exeファイルだけ入れ替えるなんて操作が出来ません。何処のフォルダにインストールされているかなんて気にした事も無いでしょうから。

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#6

投稿記事 by ふにみふ » 15年前

パッチについては先ほどからも検索を続けておりましたが、あいかわらず何がなにやら…(泣)

パッチの原理、使用法がまずわからないので、
「同じインストーラの差分パッチ機能で配布したほうが購入者の操作が楽」という文章もピンと来ません…申し訳ないです…
とりあえず今のところインストールするタイプにはしないつもりでいます。
理由は単純なもので、私自身インストールするタイプは面倒で嫌いですし、インストールするメリットがよくわからないからです。
なのでフォルダにまとめておいてアンインストールするときは、フォルダをごみ箱に移動するだけ…というタイプにしようかと今は考えております。

そうすればexeファイルを入れ替えるぐらいなら比較的簡単に出来るのではないかと思います。
インストール型だと、確かにどこに関連しているフォルダがあるのかはわかりにくいですね。
…ちなみにインストール型のメリットってなんなんでしょうか?…

パッチに関しましては、なんとか一度作成してみたいので、
簡単な原理とexeにパッチを当てる方法、何が必要なのか?、かなり簡単にでいいので、おおまかな作り方をまず知りたいです…
それに解説されているサイトや本などがあれば教えていただきたいです。
今は本当にわからず、まったく太刀打ちできていません…

YuO

Re:ソフトの配布後にバグが見つかったら?

#7

投稿記事 by YuO » 15年前

> とりあえず今のところインストールするタイプにはしないつもりでいます。
> …ちなみにインストール型のメリットってなんなんでしょうか?…

配置,更新および削除に必要なことが確実に出来る事です。
たとえば,インストーラのブートストラッパにDirectXをインストールするように構成しておけば,
対象の環境にDirectXの対象バージョンが入っていなかった場合にインストールする事ができます。

フリーのダウンロードであるならばともかく,販売という形を取るのであれば,インストーラを用意しないという選択肢自体が存在しないです。
# CD/DVD上ですべてが完結するのであれば別ですが。
少なくともCD/DVDならsetup.exeとautorun.infは必須でしょうし,ダウンロード販売であってもインストーラを用意するのは当然だと思います。
ついでに,Microsoftの推奨ではWindows Installerの利用となっています。


なお,高萩さん (とっちゃんさん) の@ITの記事
SITE: あなたのアプリにはどのインストーラが最適? - @IT
http://www.atmarkit.co.jp/fdotnet/vblab ... er_01.html
なども参考にすると良いでしょう。


> パッチに関しましては、なんとか一度作成してみたいので、
> 簡単な原理とexeにパッチを当てる方法、何が必要なのか?、かなり簡単にでいいので、おおまかな作り方をまず知りたいです…
> それに解説されているサイトや本などがあれば教えていただきたいです。

先ほどのWiXと,高萩さんのCodeZineの記事とWiX付属のヘルプではだめですか。
ヘルプを自己流 (かつRC時代版) ながら訳した方もおられますし。
http://blogs.wankuma.com/chiharu/archiv ... 65456.aspx

簡単に作りたいのであればInstaller Shieldというものはありますが,
パッチを作るとなるとProfessional以上が必要なので,直販価格で38万円強と,現実的ではありません。

softya

Re:ソフトの配布後にバグが見つかったら?

#8

投稿記事 by softya » 15年前

コミケでの販売を考えられているって事は、CD/DVD-ROMでの販売になると思うんですが買った人は何処かにROMの内容をコピーしないとダメですよね。あるいはROMのままの起動を可能にするかです。

確かに買った人の自由なのですが、次の点を気をつけないと無駄なサポートが発生します。
1.何処にコピーされるかわかりませんので何処にコピーされても動く保障をいないと行けません。
2.不十分なコピーをされた時のチェック機能が必要なる可能性があります。
3.コピーしないままROM起動された場合のセーブファイルの作り場所を考えておかないといけません。
4.コピーが良く分からないと言い出す人も考慮しないといけません。
これらに全てうまく対応できるかってことになります。
で無難な策がインストーラって事になります。ROM起動されていた場合、入れ替えるexeを置くHDDの場所もありませんしね。


>簡単な原理とexeにパッチを当てる方法、
exeのパッチはexeファイルの新旧の差分を検出して、その差分だけのデータファイル(書き換えるべき部分の位置と書き換えるデータを持っている)を作ります。
パッチをダウンロードした人は、差分データファイルからexeファイルを更新するツールでexeファイルを最新にします。気の利いたツールだと更新ツールと更新データを結合してexeファイルとして出力する機能が付いてますね。

バイナリ(exe)のパッチ作成ツール色々。
http://www.vector.co.jp/vpack/filearea/ ... bin/patch/
最近使われる事は少ないので、古いツールが多いです。wdiffが有名。

wdiffの使い方(この場合は日本語化パッチだけど)
http://journal.mycom.co.jp/column/toole ... index.html

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#9

投稿記事 by ふにみふ » 15年前

wdiffを使用して、かなりの苦労の末にexeファイルの書き換え動作をすることができました。
exeファイルがあるフォルダにwdiffで作成したパッチ(wdiffで作ったファイルはパッチと呼んでよいのでしょうか…?)を置き、
ダブルクリックをしてexeを改良後に…という具合です。
皆様のおかげです。本当にありがとうございます。

この出来たパッチですが、バージョンごとに沢山パッチを作らなければいけないということになりますか?
1.00と1.01と1.02と1.03と段階ごとに更新していった場合、
1.00から1.03に更新するパッチ、1.01から1.03に更新するパッチ、1.02から1.03に更新するパッチ…
と、どんどん増えていってしまうのでしょうか?

そしてコミケなどで販売する場合はインストーラが必要のようですね…
インストーラなしではsoftyaさんのおっしゃっているようなことが確かに起きそうです。

以下はYuOさんの書き込みについてです。
ブーストラッパという単語がよくわかりませんが、
もしDXライブラリを使用する場合はDirectXが必要となりますので、
一緒にDirectXがインストールされるのであれば確かに便利ですね。

setup.exeは実行すれば、program fileなどにフォルダを作成し、
スタート→すべてのプログラム。にインストールしたアプリを追加するもの。とわかりますが、
autorun.infとは何なのでしょうか?
setup.exeはよく見かけていた気もしますが、autorun.infというのはあまり見た覚えが…
必須ということで相当大切なもののようですが…

そして今回もリンク先を拝見させていただきました。
Installer Shieldは値段があまりにも…ということで残る選択肢は
Visual Studioセットアップ・プロジェクトとWindows Installer XML toolset(WiX)
の二つになりそうですね。

私の作っているものは特に変わったこともないであろうシューティングゲームですので、
それこそ最低限のインストーラが作成できればいいのではないかと思います。
Windows Installer XML toolset(WiX)は自由度が高いが少し難しい。
対してVisual Studioセットアップ・プロジェクトは自由度は低いが簡単。
ということだと思いますが、
今回の私のゲームのように、それほど複雑なインストーラはいらない場合は
Visual Studioセットアップ・プロジェクトで問題ないと考えてよろしいのでしょうか?

ボーランドのBCC Developerを使用していると前に書き込みをしましたが、
一応フリーのVisual C++ 2008 Express Editionは持っています(まったくといっていいほど使用していませんが…)
もしVisual Studioセットアップ・プロジェクトで問題ない場合、
このソフトでもインストーラは作成できるのでしょうか?
それともまた別に
http://www.microsoft.com/japan/msdn/vst ... icing.aspx
ここに書かれているような市販のソフトが必要でしょうか?

softya

Re:ソフトの配布後にバグが見つかったら?

#10

投稿記事 by softya » 15年前

インストーラ作成ツールのフリーソフトやシェアウェアから探すのも手です。
http://www.vector.co.jp/vpack/filearea/ ... g/install/
私は、簡単インストーラを使ってますが差分配布の機能がありません。
多少扱いが面倒な所もありますが、無料で多機能なのは良い点です。

インストーラ作成ツールで有名なのがEXEpressです。これも差分配布の機能が無い様です。
同人ソフトを販売する場合有料のシェアウェア版(5250円)を使う必要があります。
http://www.webtech.co.jp/onlinesoft/exepress/index.html
メーカーでも利用している所がありますね。

インストーラ作成ツールは他にも色々ありますので、試してみて使いやすいものを選ぶと良いと思います。

YuO

Re:ソフトの配布後にバグが見つかったら?

#11

投稿記事 by YuO » 15年前

> autorun.infとは何なのでしょうか?

CD-ROM等における,自動起動のための設定ファイルです。
これ自体,セキュリティ上の問題があるのは承知しているのですが,セットアップが自動起動しないのでは,初心者はインストール作業ができない可能性があります。
SITE: USBメモリで広まるウイルスへの対策 | セキュリティ情報 : トレンドマイクロ
http://jp.trendmicro.com/jp/threat/solutions/usb/


> Windows Installer XML toolset(WiX)は自由度が高いが少し難しい。
> 対してVisual Studioセットアップ・プロジェクトは自由度は低いが簡単。
> ということだと思いますが、
> 今回の私のゲームのように、それほど複雑なインストーラはいらない場合は
> Visual Studioセットアップ・プロジェクトで問題ないと考えてよろしいのでしょうか?

VSセットアップでは,原則として全部入れ替える必要があります。
@ITの高萩さんの記事の3ページ目,「更新パターンへの対応」欄をお読みください。
更新を考えているのであれば,WiXが最適ということになります。


> 一応フリーのVisual C++ 2008 Express Editionは持っています(まったくといっていいほど使用していませんが…)
> もしVisual Studioセットアップ・プロジェクトで問題ない場合、
> このソフトでもインストーラは作成できるのでしょうか?

できません。
SITE: Microsoft Visual Studio 2008 製品ラインの概要
http://www.microsoft.com/japan/msdn/vst ... mpare.aspx
の「配置ツール」欄にあるように,Express製品ではClickOnce配置しかできず,C++/CLIでないC++プログラムは,実質的に配置用の方法が存在しない事になります。
VSセットアップは,同欄の「MSI」にあたります。
つまり,Standard Edition以上の機能となります。

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#12

投稿記事 by ふにみふ » 15年前

丁寧な回答ありがとうございます。

autorun.infを調べてみました。
なかなかいいイメージはないようですね(汗)
こちらはまだ試しておりませんが、インストーラーやパッチに比べると比較的簡単そうで、なんとかなりそうだと思えました。
コミケにて購入したゲームソフトをautorunの観点から見たことがなかったので、
試しにCDを入れてみると、確かに自動的に起動するタイプが多かったです。
一つだけ違うのもありましたが…

YuOさんの提示していただいたインストーラー以外にもフリーソフトなどがあるのですか。
しかしインストーラーの差分配布機能とはどういうことでしょう?
@ITの高萩さんの記事の3ページ目,「更新パターンへの対応」もこの差分配布機能に関する内容なのだろうと思いますが…

昨日に出来ましたパッチですと、インストールされているフォルダにパッチを入れ、
そこで実行(ダブルクリック)という動作でアップデートできますが、
差分配布機能なら、もっと簡単に出来るとか、そういうことでしょうか?

http://www.vector.co.jp/soft/win95/prog/se351266.html
例えばこのソフトですと紹介に「通常版と差分版が作成できる高機能なインストーラ作成ソフト」と書かれていますが、
まさにこれが差分配布機能ということでしょうか?

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#13

投稿記事 by ふにみふ » 15年前

ちなみに今もまた少し調べていたところ、
このサイトでもよく見かける東方シリーズは(今見たのは紅魔郷、妖々夢、永夜抄、花映塚)
パッチをダウンロードし、手動で対象のフォルダまでパッチを移動し、実行。
というタイプのようです。

ねこ

Re:ソフトの配布後にバグが見つかったら?

#14

投稿記事 by ねこ » 15年前

僕も同人ソフト売ったりしてますが、差分パッチはあまりおすすめ出来ないです。
掲示板等で色々と不具合の報告をしてくれる際素早い対応をしていくと
どんどんバージョン段階が出来てしまい管理するだけで結構大変だからです。

外部にファイルを置く手法にしておくとEXEごとパッチと言っても4,5MB。最近のネット環境なら全く問題ありません。

またインストーラーに関しては毛嫌いする人も居ます。
CDからのコピーだけじゃないのでレジストリ等に何かしてるんじゃないの?といった疑問を持つ人や
アンインストールは削除だけでさくっとしたいと言った人が多いためです。

MSIを使って確実にインストールした内容を管理するのも大切だとは思いますが、
ユーザーさんの要望に近い形にするのが同人としては良いような気がします。

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#15

投稿記事 by ふにみふ » 15年前

インストーラを毛嫌い…まさに私ですw
それだけにインストーラはまったく作るつもりはなかったのですが、
これまでの書き込みを見ると、初心者にはインストーラーの方が優しいといえば確かにそんな気もしてきます。

パッチに関しても同じく、今時少しぐらい重くてもバグを取ったexeファイルを再び配布したほうがいいのでは?
というのは私も同じように思わなくもないところです。
しかし一言パッチが主流と言われると、そうなの?!とついそちらへ気持ちが傾いてしまいます。
パッチをダウンロードしてexeと同じフォルダにいれ実行、と、改良されたexeをダウンロードして旧exeと入れ替える、を比較したとき、両方とも初心者に対する難易度もあまり変わらないと思いますし…

インストーラーを作るか作らないか、
バグ対応はパッチにするか改良exeを配布するか、
うーん…どちらがよいのか…
また新たなスレッドタイトルでこの点を聞いてみようか…

YuO

Re:ソフトの配布後にバグが見つかったら?

#16

投稿記事 by YuO » 15年前

まず,方法を知らない人は.zipの展開すらできません (実例あり)。
この事実を考えると,CD/DVDにautorun.infとインストーラーは必須です。
# なければ,方法がわからない人達は無駄金を出した事になるので。

で,インストーラー無しがユーザー要望であるのは,本当に多数派なのですかねぇ……。
インストーラーを使わないというのはユーザーにバージョン管理を任せる,ということになります。
毛嫌いするユーザーも,そこまで本当に考えているのか疑問です。
私には到底ユーザーに配布物のバージョン管理をさせるなんてできませんが。

無償のソフトならば,全てを上書きという方法でバージョン管理ができるのでよいとしても,
有償のソフトである以上,全てを上書きという方法はできませんよね。
なので,最初の点を無視するにしても,インストーラーとパッチのためのシステムが必要になります。


添付はWiX 3.0.5419とVS 2008を使ったMinor Update / Major Updateのテストです。
WiXのインストールディレクトリを各makefileのWIXBINDIRに設定して試してみてください。
bin/setup.exeが各バージョン用のインストーラー (.msiを中に含む),
pbin/patch.exeが各バージョン用のアップデートパッチ (.mspを中に含む) になります。
# これを元に別途インストーラーを作成する場合,各種GUIDを変更してください。

組木紙織

Re:ソフトの配布後にバグが見つかったら?

#17

投稿記事 by 組木紙織 » 15年前

>zip
これについては私も経験があります。XPだったので右クリックで解凍出来たのが幸いでした。

>インストーラー無しがユーザー要望であるのは,本当に多数派なのですかねぇ……。
ここの掲示板に来てる人自体がPCが出来る部類にいるということを忘れてはいけません。

一般ユーザーだと過程はどうあってもソフトが動けば問題ない。
そこそこ出来るユーザーだと色々動作が見えないインストーラーなんてものは怖くて使えない。(使いたくない)
本当に出来るユーザーだと、インストーラーの動作を知ってるので、気にせず使う。

といった感じじゃないでしょうか。

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#18

投稿記事 by ふにみふ » 15年前

YuOさん、細木紙織さんありがとうございます。

zipの解凍が出来ないのは確かにちょっと…ですね。
ではインストーラーは作成するとして、パッチ(バージョン)はどのようにユーザーに扱ってもらえばよいのか、わかりません…
理解が及ばず申し訳ないです…

インストーラーは以前softyaさんが提示していただいたように、
WIXに限らず、簡略化してあるフリーソフト(シェアでも)などで行えばよいとして、
インストーラーの差分配布機能というものは重要なのでしょうか?
どのような動作をする機能なのかがわかっていないので…

もし差分配布機能を考えなかったとしても、対象のexeがあるフォルダに、
wdiffで作成した差分ファイルを置き、実行すればいいのだとは思いますが…
つまりはこれも初心者には難しいので、差分配布機能という初心者に優しい機能(?)を使うということでしょうか?

>無償のソフトならば,全てを上書きという方法でバージョン管理ができるのでよいとしても,
>有償のソフトである以上,全てを上書きという方法はできませんよね。

これについても、私は改良されたexeをまるまる配布と言っていますが、ゲームの音楽や画像などのデータは配布しません。
そのようにすれば、それはもうパッチを配布しているのと、ほとんど同じ意味なのでは?
と思ってしまう訳ですが、どうでしょう?

あと、ごめんなさい…
YuOさんがせっかく複雑そうなファイルを用意して下さったのに、
動作の方法がわかりませんでした…
まだWiXでインストーラーを作るかは決めていないので、WiXの扱いは全くわからない上、.exeのファイルが見当たりませんでした…

御津凪

Re:ソフトの配布後にバグが見つかったら?

#19

投稿記事 by 御津凪 » 15年前

> これについても、私は改良されたexeをまるまる配布と言っていますが、ゲームの音楽や画像などのデータは配布しません。

ゲームの音楽や画像などのデータに修正が必要になった場合はどうするのでしょうか?
一つのファイルにパックされている構造なら丸ごと上書きで対処ということはできないですよ。
(プログラムを修正したがゆえに他のデータも変更せざるを得ないということもままあるので)

> インストーラーの差分配布機能というものは重要なのでしょうか?

有料モノのバグ修正などによるアップデートではインストーラーの差分配布機能は結構重要ですよ。
その機能はツールによっては無かったりしますが、
ツールに外部実行できるような細かい処理ができるものであれば、

> 対象のexeがあるフォルダに、
> wdiffで作成した差分ファイルを置き、実行すればいいのだとは思いますが…

この処理をインストーラー内で実行させることができます。
(Inno Setup というツールでは、このような方法で対応できます)

YuO

Re:ソフトの配布後にバグが見つかったら?

#20

投稿記事 by YuO » 15年前

> zipの解凍が出来ないのは確かにちょっと…ですね。
> ではインストーラーは作成するとして、パッチ(バージョン)はどのようにユーザーに扱ってもらえばよいのか、わかりません…
> 理解が及ばず申し訳ないです…

.exeをダウンロードしてもらうことになります。
ただし,その方法は簡単であってもWeb上に書く必要があるでしょう。


> WIXに限らず、簡略化してあるフリーソフト(シェアでも)などで行えばよいとして、
> インストーラーの差分配布機能というものは重要なのでしょうか?
> どのような動作をする機能なのかがわかっていないので…

Windows Installerにおけるパッチファイル,つまり.mspというのは,.msiのデータベースの差分です。
他のソフトウェアでも同じでしょう。


> これについても、私は改良されたexeをまるまる配布と言っていますが、ゲームの音楽や画像などのデータは配布しません。
> そのようにすれば、それはもうパッチを配布しているのと、ほとんど同じ意味なのでは?
> と思ってしまう訳ですが、どうでしょう?

・バージョン管理問題はどうしますか。
ありがちなのが,Web上のパッチよりも新しいバージョンが配布される場合です。
ユーザーにバージョン管理を丸投げの場合,ダウングレードが発生します。
バージョン管理機能を持つインストーラーを使えばそのような状況は発生しません。
・インストールされた場所はどうやって知らせますか
通常,%ProgramFiles%にインストールされるわけですが,そこへユーザーへ直接アクセスさせるのですか。
個人的にはそれはもう配置機構の欠陥としか思えません。
なお,Windows Installerを使ったインストーラーの場合,対象の.exeをKeyPathとした場合,自動復旧機能が働きます。


> 動作の方法がわかりませんでした…
> まだWiXでインストーラーを作るかは決めていないので、WiXの扱いは全くわからない上、.exeのファイルが見当たりませんでした…

・WiX 3.0をインストールする
・Visual Studio 2008 コマンドプロンプトを起動する
・WiX 3.0のbinへのパスを切る
・先に添付したファイルを展開したディレクトリ (create.batや*.makがあるディレクトリ) に移動
・create.batを実行する
が手順です。

バイナリを追加したものは,以下になります。
http://pub.idisk-just.com/fview/olN5vuU ... F1XkCw.zip
# 1MiB強なので添付不可でした。

ねこ

Re:ソフトの配布後にバグが見つかったら?

#21

投稿記事 by ねこ » 15年前

なんだか企業のパッケージ商品に対しての話ではないかと感じてしまうねこです。
またインストーラの持つバージョン管理についても大事だとは思うのですが
「コミケ等で配布する同人ソフト」という前提の前ではちょっと大げさに感じてしまいます。

インストーラ形式で配布した際「うざい」とは言われるものの「インストーラで良いね」とは言われないんですよね
<インストーラー無しがユーザー要望であるのは,本当に多数派なのですかねぇ……。
ここに絡みますが「インストーラが良い」と言う人が圧倒的少数なので、「どっちでもいい」+「コピペが良い」ってのが一般的な意見となってます。

インストーラの経験を積むのは良いことで、同人ソフトであれば拘る必要はないと思いますよ。
というのが僕個人の一意見です。


余談ですが
同人ゲーム=有償ソフトなんて考えは大体の人が持ってないと思います。
趣味で楽しく作って多くの人に遊んでもらって黒字赤字をいったりきたり。
有償ソフトとしての品質が必要であればそれ相応にコストも増えますが、
あくまでゲームを遊んでもらうのが一番の目的なのでそこに拘ったりはしません。

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#22

投稿記事 by ふにみふ » 15年前

>ゲームの音楽や画像などのデータに修正が必要になった場合はどうするのでしょうか?

確かにその通りですね…バグということでexeファイルにばかり意識が行っていました。
しかし、これならこれで、プログラムによるバグ(exeが原因)が発生した場合はexeの再配布。
音楽や画像によるバグが発生した場合はパッチを配布。
で、どうでしょうか?
以前にバグがあるたびにパッチを作っていると管理が大変との書込みがあり、
実際その通りではないかな?と私自身も思うので…

>この処理をインストーラー内で実行させることができます。
>(Inno Setup というツールでは、このような方法で対応できます)

>.exeをダウンロードしてもらうことになります。
>ただし,その方法は簡単であってもWeb上に書く必要があるでしょう。

御津凪さん、YuOさんのこの書込みから察するに
差分配布機能とはexe型で、それをダウンロードして、場所はデスクトップだろうが、どこだろうが、実行(ダブルクリック)するだけで、
修正対象のファイル(exe等)を見つけ出し、修正処理をしてくれる…という理解で大丈夫でしょうか…?

それと差分配布機能は他の呼び名もありますか?
「Inno Setup 差分」「Inno Setup 差分配布」「Inno Setup 差分配布機能」等と検索しても、全くそれらしい記事が見当たらず…
ちなみに一番初め本体のインストーラー作成はAというフリーソフトで(例えば簡単インストーラー)、修正パッチのインストーラーはBというフリーソフトで(例えばInno Setup)…というのは可能ですか?

ダウングレードが発生してしまうというのもwdiffのパッチですとないような気もします(少し触った感想ですが)
例えば、最新の1.05を配布したとして、1.00から1.03を1.04に変更するパッチがウェブ上にあり、
1.05に対して1.04に変更するパッチを当てたところで、恐らくエラーが出ると思います。
またバージョン管理機能と差分配布機能は別物ですか?管理機能があればダウングレードの間違いをなくせるということですか?

ねこさんのおっしゃるとおり、かなり私には難しい話でなかなか理解ができず苦労しております(汗)
同人ソフトに対する意見として、ねこさんの意見もとても参考になります。
「どっちでもいい」+「コピペが良い」この式なんだかとってもよくわかりますw

YuOさん、先ほどのファイルの使い方の詳細ありがとうございます。
この後試してみようと思います。

御津凪

Re:ソフトの配布後にバグが見つかったら?

#23

投稿記事 by 御津凪 » 15年前

Inno Setup はインストール方法やインストール先などをスクリプトで細かく指定できるインストーラ作成ツールです。
(YuO さんの WiX とは全くの別物です)
差分配布機能という名称はそのスクリプトで再現できることであって、 Inno Setup の機能というわけではないです。

wdiffのパッチファイルを前回インストールしたソフトの場所に置き、パッチをあてるという処理を
インストーラ側が自動で実行するようにスクリプトを書き、
wdiffのパッチファイルだけを格納したインストーラをつくるというわけです。

ただし、「インストール動作をスクリプトで書く」ので、慣れるまで簡単ではないということを留意してください。


> またバージョン管理機能と差分配布機能は別物ですか?

機能的に別物です。
バージョン管理機能はインストール対象のバージョンをチェックする機能で、内容が差分かどうかは関係ありません。
差分配布機能は差分データを配布する機能で、バージョンは基本関係ありません。

> 管理機能があればダウングレードの間違いをなくせるということですか?

基本的にはそういうことになります。


もし時間があるのなら、インストーラについてじっくり勉強したほうが良いかもしれませんね。
間違った作成をして、インストーラのバグが出るということもありえます。


若干問題ではありますが、差分データを作らずに、インストール時にライセンスコードの入力を促すような方法もあります。
配布時の説明書などの欄にそのライセンスコードを入れて、その配布物のインストール時や、アップデートインストール時にライセンスコードの入力を促す、という方法です。

lbfuvab

Re:ソフトの配布後にバグが見つかったら?

#24

投稿記事 by lbfuvab » 15年前

自分で
・ファイルのコピー(&削除)
・バージョンチェック
・差分ファイルの適応
辺りに絞ってインストールツールを作るのもありですね。
但し、簡単にするとアンインストールもCDから行う形式になりますが・・・

ふみにふ

Re:ソフトの配布後にバグが見つかったら?

#25

投稿記事 by ふみにふ » 15年前

皆様のおかげで少しずつではありますが、整理が付いてきています。ありがとうございます。

しかし、まだいくらか頭の整理が出来ていない部分もあります。
ここの整理さえつけば、さっそくインストーラーを作るテストをしてみたいので、
もう少しだけ、お付き合いをお願いしたいです…

1、
先ほども書き込みをしましたように、音楽や画像のバグはパッチ。
exeのバグは改良exeの配布で大丈夫なのでしょうか?
全てのバグをパッチで直すのもできることには出来ますが、exeのバグは改良exeの配布で行ったほうが
パッチの管理も簡単だと思うのですが…
この方法ですと何か不具合が起きますでしょうか?

2、
ダウングレードの起こる理屈がイマイチわかりません…
wdiffのパッチですと、これも先ほど書いたように1.00を1.01にするパッチを1.02に対して使っても(ダウングレードしようとしても)エラーが起こり実行できないと思うのです。
なのでダウングレードは絶対に起こらないように思うのですが…?

3、
これも前回の書込みからですが、ソフトを導入する時(つまりCDからインストールする時)に使用するインストーラー作成のフリーソフトはAというソフト。
その後、差分配布を行うインストーラーの作成はBというフリーソフト。
というように分けて使うことは出来ますか?
ソフト導入時にAというソフトで作ったインストーラーを使ったのなら、差分配布もAというソフトで作ったものしか出来ない!
ということかどうかです。

御津凪

Re:ソフトの配布後にバグが見つかったら?

#26

投稿記事 by 御津凪 » 15年前

> 1、
パッチを使って差分アップデートするなら、パッチで統一した方が管理しやすいかと思いますが、
きちんとバージョン管理ができるのであれば統一しなくても大丈夫ではないかと思います。

> 2、
パッチでダウングレードが起こることは通常ないと思います。無理やり当てても壊れるだけですから。
(ダウングレードするパッチを作ったのなら別です)

(ちなみにパッチの際に作られるバックアップファイルに戻すという行為もダウングレードに当たりますがこれは別の話。)

> 3、
インストール情報の互換性があれば、できます。
一応無くても問題なくインストールできますが、Aのインストール情報とBのインストール情報が別々に登録され、
インストールしたソフトウェアの一覧に同じものが重複するということになり、ユーザーがアンインストール時に混乱を招く恐れがあります。

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#27

投稿記事 by ふにみふ » 15年前

書き込みありがとうございます。
1と2は完全整理が付きましたm(__)m

>インストールしたソフトウェアの一覧に同じものが重複するということになり

インストールしたソフトウェアの一覧とは、コントロールパネル→プログラムの追加と削除。で現れる一覧のことですよね?
CDからソフトを導入する時のインストール作業で、この一覧に作成したソフトウェアが追加されるのは当然ですしわかります(このインストーラーはAというソフトで作ったものとする)

その後、差分配布をBというインストーラーで行うと、それだけで「プログラムの追加と削除」の一覧にまた何かが(わかりませんが)追加されてしまうのですか…?
差分配布のインストーラー、つまり中身は差分パッチだけなのに…?

御津凪

Re:ソフトの配布後にバグが見つかったら?

#28

投稿記事 by 御津凪 » 15年前

> インストールしたソフトウェアの一覧とは、コントロールパネル→プログラムの追加と削除。で現れる一覧のことですよね?

そうです。

その一覧はレジストリ情報から読み出していて、それぞれの項目は決まった形式に基づいて一覧に登録されています。
(これにはアンインストールするための情報も含まれます)

そして、それぞれの項目ごとに一意を識別する ID がインストーラから割り振られます。
この ID が違うと、たとえ同じソフトウェアでも、一覧には重複して表示されるということです。
(中身はパッチを行うものだとしても)


通常は、インストール時のソフトウェア名がそのまま ID 名になりますが、
インストーラツールによっては専用の ID を指定することでその ID を使用することがあります。

つまり、A で作成し、インストールしたときに割り振られた ID を、 B のインストーラで使用できるようにすれば、
一覧で重複することはなくなります。

ただし、B のインストーラでは A のアンインストール情報を上書きしないように設定しない(アンインストール情報を作成しない等)と、
正しくアンインストールされないバグが発生しますので注意してください。

ふにみふ

Re:ソフトの配布後にバグが見つかったら?

#29

投稿記事 by ふにみふ » 15年前

ありがとうございます。
これで少なくとも現時点では頭の整理が付きました。

ここで得た情報を元に頑張っていきたいと思います。
長い間お付き合いいただき、皆様ありがとうございました。

閉鎖

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