秀インストールに要望No.00312
綾乃介 さん 99/11/24 09:47
 
 
 秀インストールを使わせていただいています。
とてもコンパクトかつ、使いやすい仕様で重宝しています。

 ただ、一つ不満な点があります。

 それは、インストーラが、一緒にインストールされてしまうことです。
アンインストールは、フォルダの削除で行うようにしてもらっているので、
インストーラを一緒に入れて、アンインストールできるようにする必要
はないんです。

 そこで、インストーラを一緒にインストールしないというオプション
がほしいです。

 あと、質問があるのですが、こちらで特に指定しない限り、
レジストリはいじってないですよね。
 レジストリはいじらない、アンインストールはフォルダを削除。
が希望動作なので、御検討お願い致します。



[ ]
RE:00312 秀インストールに要望No.00313
秀まるお さん 99/11/24 10:39
 
 秀インストールですが、「アンインストールはコントロールパネルから」が前提と
なっています。したがって、レジストリも書き換えています。(ソースコードを見て
いただければ一目瞭然ですけど)

> そこで、インストーラを一緒にインストールしないというオプション
> がほしいです。

 該当個所をいじれば済む話なので、それで対応お願いします。具体的には、737
行目付近の

LoadFileNameToBeInstalled( iProcess - 2 );
MyCopyFile();

 の所を、

inti = iProcess - 2;
if( i >= 0 ) {
LoadFileNameToBeInstalled( iProcess - 2 );
MyCopyFile();
}

 とすれば大丈夫です。

 アンインストール情報を登録しないようにするには、RegistUninstallInfo()関数
を呼ばないようにするだけです。


[ ]
RE:00313 秀インストールに要望No.00314
秀まるお さん 99/11/24 10:40
 
 あ、タブ文字がうまく入りませんでした。

        int i = iProcess - 2;
        if( i >= 0 ) {
            LoadFileNameToBeInstalled( iProcess - 2 );
            MyCopyFile();
        }

 です。


[ ]
RE:00314 秀インストールに要望No.00315
秀まるお さん 99/11/24 10:40
 
        int i = iProcess - 2;
        if( i >= 0 ) {
            LoadFileNameToBeInstalled( i );
            MyCopyFile();
        }

 の方が良かったです。

 (細かい)


[ ]
RE:00313 秀インストールに要望No.00316
綾乃介 さん 99/11/24 11:16
 

> 秀インストールですが、「アンインストールはコントロールパネルから」が前提と
>なっています。したがって、レジストリも書き換えています。(ソースコードを見て
>いただければ一目瞭然ですけど)

 そうだったんですか(^^;;
 Windowsプログラミングはやったことないので、分からないです(^^;;


>> そこで、インストーラを一緒にインストールしないというオプション
>> がほしいです。
>
> 該当個所をいじれば済む話なので、それで対応お願いします。具体的には、737
>行目付近の

 VCを持ってる友達にコンパイルを頼んでみます。


 ありがとうございました。


[ ]
RE:00313 秀インストールに要望No.00317
綾乃介 さん 99/11/24 11:33
 
> 秀インストールですが、「アンインストールはコントロールパネルから」が前提と
>なっています。したがって、レジストリも書き換えています。(ソースコードを見て
>いただければ一目瞭然ですけど)

 すみません、もう一つ、レジストリの書き換えを行わないにはどうしたら良いでし
ょうか?


758  RegistUninstallInfo();

965  DeleteRegReflex( hkeyRoot, sz + xStart );
996 DeleteRegReflex( HKEY_LOCAL_MACHINE, sz );

を、コメントアウトしてみました。

 これで、不具合が起こったりしますでしょうか?
 申し訳ないですが、よろしくお願いします。
#コンパイルはまだ、頼めていません。

[ ]
RE:00317 秀インストールに要望No.00318
秀まるお さん 99/11/25 10:35
 
 うむ、秀インストールって、けっこうC言語以外で作ったソフトに使われているん
ですね。

> 965  DeleteRegReflex( hkeyRoot, sz + xStart );
> 996 DeleteRegReflex( HKEY_LOCAL_MACHINE, sz );

 これはアンインストールの時に呼ばれる処理なので、あってもなくても関係ないは
ずですが、削除する方が安全ではあります。

 RegistUninstallInfo()関数を呼ばないようにするだけでたぶん大丈夫なはずです。


[ ]
RE:00318 秀インストールに要望No.00319
綾乃介 さん 99/11/25 17:23
 
> うむ、秀インストールって、けっこうC言語以外で作ったソフトに使われているん
>ですね。

 スクリプト言語を使っているので、インストーラの作成ができないんですよ(^^;;
 できても、実行環境がかぎられるので・・・

>> 965  DeleteRegReflex( hkeyRoot, sz + xStart );
>> 996 DeleteRegReflex( HKEY_LOCAL_MACHINE, sz );
>
> これはアンインストールの時に呼ばれる処理なので、あってもなくても関係ないは
>ずですが、削除する方が安全ではあります。
>
> RegistUninstallInfo()関数を呼ばないようにするだけでたぶん大丈夫なはずです。

 ありがとうございます。
 ですが、VC6.0でコンパイルエラーが出てしまいました。
 申し訳ありませんが、対応策をご教授をお願いいたします。

--------------------構成: HIDEINST - Win32 Debug--------------------
コンパイル中...
HIDEINST.CPP
D:\home\et\hideinst\HIDEINST.CPP(1133) : error C2731: 'WinMain' : 関数はオー
バーロードできません。
        D:\home\et\hideinst\HIDEINST.CPP(1133) : 'WinMain' の宣言を確認して
ください。
D:\home\et\hideinst\HIDEINST.CPP(1134) : error C2440: '=' : 'void *' から 's
truct HINSTANCE__ *' に変換することはできません。(新しい動作 ; ヘルプを参照)
        'void*' から非 'void' 型への変換には明示的なキャストが必要です。
cl.exe の実行エラー

HIDEINST.OBJ - エラー 2、警告 0

[ ]
RE:00319 秀インストールに要望No.00320
杉浦 まさき さん 99/11/25 23:19
 
綾乃介さん、横から失礼します。
杉浦 まさき と申します。

> ですが、VC6.0でコンパイルエラーが出てしまいました。

WinMain の第1・2引数の型を HINSTANCE に変えましょう、
という発言が以前ありましたね、確か。
#僕は使ってもいないしコードも見てないので又聞き状態ですが(^^;。


[ ]
RE:00319 秀インストールに要望No.00321
秀まるお さん 99/11/26 09:44
 
 僕の所はVC++5.0なのでなんですが、hInstanceの型をHINSTANCEに変更すれば大丈
夫らしいです。

 VC++5.0の場合でも#define STRICTとやれば同様のエラーが起きるはずなので、こ
ちらのソースコードも変更しておきます。(次のバージョンから)


[ ]
RE:00320 秀インストールに要望No.00323
綾乃介 さん 99/11/29 10:08
 
>綾乃介さん、横から失礼します。
>杉浦 まさき と申します。
>
>> ですが、VC6.0でコンパイルエラーが出てしまいました。
>
>WinMain の第1・2引数の型を HINSTANCE に変えましょう、
>という発言が以前ありましたね、確か。
>#僕は使ってもいないしコードも見てないので又聞き状態ですが(^^;。
>

 情報ありがとうございます。

 教えていただいたように、修正して、コンパイルしたら、
巧く行きました。

 ところが、一つ疑問なのですが、実行ファイルのファイルサイズが
176KBもあるのです。公開されているものは、30KB程度。
 いったいどういうことなのでしょうか?



[ ]
RE:00323 秀インストールに要望No.00324
秀まるお さん 99/11/29 12:28
 
 たぶん、デバッグバージョンをビルドしたためにサイズがでかくなったんだと思い
ます。

 VC++5.0の場合だと、「ビルド・アクティブプロジェクト構成の設定...」を実行し
て、そこでWin32 Releaseを選択し、その後ビルドしなおすことでリリース用のサイ
ズの小さいEXEファイルが生成されます。


[ ]