みけCATのにっき(仮)
つれづれなるまゝに、日くらし、PCにむかひて、心に移りゆくよしなし事を、そこはかとなく書きつくれば、あやしうこそものぐるほしけれ。
(本当か!?)
出典

こんなフリーソフトは嫌だ

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

こんなフリーソフトは嫌だ

投稿記事 by みけCAT » 13年前

世の中には、いろいろなフリーソフトがあります。
その中には、どうも好きになれない、不快な挙動のものもあります。
ここで、そのような挙動や仕様を列挙していきたいと思います。
※個人の感想です

起動時のカレントディレクトリに依存する
フリーソフトの中には、起動時のカレントディレクトリに、
いろいろなファイルを保存するものがあります。
そのようなソフトでは、自作のランチャーから起動した場合など、
カレントディレクトリがexeファイルのあるディレクトリと違う場合、
あらぬ場所にファイルが作られてしまいます。
また、ファイルが作られるだけならまだマシですが、
必要なファイルが読み込めずに誤動作してしまうこともあります。

対策としては、(C言語かつWindowsの場合)この関数を定義し、プログラムの最初で呼び出せばおkです。

CODE:

BOOL changedirtoexedir(void) {
    unsigned char path[1000];
    int i,j,len;
    GetModuleFileName(0,(CHAR*)path,sizeof(path));
    j=len=lstrlen((CHAR*)path);
    for(i=0;i=0x80)i++;
        else if(path[i]=='\\')j=i;
    }
    path[j==2?j+1:j]=0;
    return SetCurrentDirectory((CHAR*)path);
}
これでカレントディレクトリをexeファイルのあるディレクトリに設定してくれるはずです。
もしくは、きちんとファイルを絶対パスで指定するべきだと思います。

無駄にインストールさせられる
世の中には、インストーラのみを提供しているフリーソフトがあります。
Lhacaや7-zipなどのように、明らかにインストールが必要なソフトなら別に構わないのですが、
単純な機能で、どうみてもファイルのコピーだけで使えるだろというソフトのインストールは嫌いです。
これはかなり個人の好みの問題かもしれませんが。

対策としては、
1.例えばINASOFTの「いじくるつくーる」や「すっきり!デフラグ」のように、インストーラ版とアーカイブ版を両方提供する
 ユーザーに選択の余地があり便利だが、webサーバーの容量とファイルをまとめる手間が約2倍必要。
2.昔の四聖龍神録などのように、基本インストーラだが7-zipなどで展開もできるようなファイルを作る
 作り方がよくわからない。

などが考えられます。

標準搭載でないライブラリに依存する(特にWindows向け)
世の中には、あるライブラリ(DirectX、.NET Frameworkなど)に依存したソフトウェアがあります。
明らかにそのライブラリを使ったほうが楽に作れ、品質も上がる場合
(特にDirectXやRPGツクールランタイムなど)
はしょうがないですが、それ以外の場合なら、なるべく依存しないようにするべきだと思います。
(例:ただのBPM測定ツールに.NET Frameworkなどは嫌い)
ただし、Javaのランタイムについては仕方ないのでここでは対象外です。
DLL等の形でソフトウェアに添付できる(別にインストールではない)ものも対象外です。
(特にWindows向け)とは、Linuxではあるソフトウェアをインストールしようとした時に、
依存関係にあるパッケージを同時にインストールすることがかなりよくあるので、対象外ということです。

対策としては、そのままライブラリを使わないようにプログラムを組むことしかないと思います。

設定を保存できないと終了できない
世の中には、終了しようとした時に、設定を保存できないというダイアログが出て終了しないソフトがあります。
原因は、Program Filesフォルダには書き込めないということです。
設定が保存されたかをチェックすることは大事だと思いますが、
保存しないと終了できないというのはやりすぎだと思います。
終了方法がわからず、タスクマネージャのお世話になりました。
特に上の「無駄にインストールさせられる」とのコンボは最悪だと思います。

対策としては、「設定が保存できませんでした」と言って問答無用で終了しないのではなく、
「設定が保存できませんでした。このまま終了しますか?」という確認にするべきだと思います。

設定をWindowsフォルダに保存しようとする
これは凶悪ですね。
Windowsフォルダなんて、管理者権限がないと絶対書き込めないだろうし、
管理者権限があってもむやみに書き込むべきではないところだと思います。
さらに上の「設定を保存できないと終了できない」と組み合わされた時には…
まず(作者のwebページ等に書き込める場所があれば)絶対書き込むでしょう。

対策としては、設定を
(持ち運び可能なソフトなら)exeファイルと同じディレクトリ、もしくは
(インストールor使うパソコンを固定前提なら)素直にレジストリかAppDataフォルダに保存するべきです。

予告なしにフルスクリーン化・フルスクリーン動作しかない
私はフルスクリーンのソフトが嫌いです。
なぜなら、自分の環境では、フルスクリーンにされると、
デスクトップに戻った時に、ウィンドウのサイズがめちゃくちゃになっているからです。
四聖龍神録Plusや東方シリーズのように、ウィンドウかフルスクリーンかを選択できればいいのですが、
残念なことにフルスクリーンでしか起動できないソフトもあります。

対策としては、ウィンドウモードを選択できるようにするか、
ユーザーがDirectXウィンドウ化ツールなどのツールを使うことがあります。

これ以外にも、みなさんの嫌いな動作等の体験談等がありましたら、
お聞かせいただければ幸いです。
オフトピック
訳:どうかコメントを下さい。お願いします。

ISLe
記事: 2650
登録日時: 15年前

Re: こんなフリーソフトは嫌だ

投稿記事 by ISLe » 13年前

沖 滉均 さんが書きました:また、Windows7以降は.NET Frameworkは標準搭載です。
Vistaも標準搭載ですよ。忘れないであげて。


またひとつ思い出したんですけど、boostとかgccとかでランタイムが必要なときありますよね。
あれも同梱し忘れるというか、あちこちに同じファイルが配置されるのどうにかならないかと思いますね。

アバター
nullptr
記事: 239
登録日時: 13年前

Re: こんなフリーソフトは嫌だ

投稿記事 by nullptr » 13年前

使う側の対策としては、シフトムーブなどでウィンドウを動かせば、使えるようになりませんか?
( ゚д゚)

す、すげぇ・・・フリーソフトの批判をする前にフリーソフトを知るべきでしたか・・・

アバター
沖 滉均
記事: 237
登録日時: 14年前

Re: こんなフリーソフトは嫌だ

投稿記事 by 沖 滉均 » 13年前

ISLe さんが書きました:
沖 滉均 さんが書きました:また、Windows7以降は.NET Frameworkは標準搭載です。
Vistaも標準搭載ですよ。忘れないであげて。
Vistaの存在を忘れていましたm(__)m
過去にMSDNで確認したVersionが問題でVistaが抜け落ちてました…3.0標準搭載になっているんですね。

アバター
tk-xleader
記事: 158
登録日時: 14年前

Re: こんなフリーソフトは嫌だ

投稿記事 by tk-xleader » 13年前

ISLe さんが書きました:またひとつ思い出したんですけど、boostとかgccとかでランタイムが必要なときありますよね。
あれも同梱し忘れるというか、あちこちに同じファイルが配置されるのどうにかならないかと思いますね。
ランタイムライブラリをスタティックリンクしてしまうのがいいかと思います。GCCの場合は、
-static-libgcc と -static-libstdc++
をオプションに付加すればスタティックリンクできるはずですが…