[ 新規に投稿する ]

秀インストール(質問)No.00933
たけにー さん 03/02/28 11:39 [ コメントを投稿する ]
秀インストールでインストールされたアプリケーションの削除は
コントロールパネルのファイルのアプリケーションの追加と削除
から行えるようになると思うのですが、どうやってもアプリケー
ションの追加と削除に登録されません。
過去ログも調べましたがそのような話は全く無く、当方が何か勘
違いか間違いをおかしていると思われるのですが、解決出来ない
ので質問させて頂きました。

尚setup.infは以下のように書きました。

[Install]
Title=Test Program
Folder=test\test01
Open=
1=test.bin,test.exe

[Reg]
1=HKEY_CURRENT_USER\Software\test\test01

[Group]
1=テストプログラム,test.exe
2=テストプログラムの削除,setup.exe,/r

スタートアップに登録されたメニューのテストプログラムの削除は正常
に機能しております。
よろしくお願いします。
[ ]
RE:00933 秀インストール(質問)No.00934
秀まるお2 さん 03/02/28 14:07 [ コメントを投稿する ]
  >Folder=test\test01

 これがダメみたいです。

 Folder=test

 とすれば大丈夫だと思います。Folder=で指定できるのは1段階のフォルダの
みです。
[ ]
RE:00934 秀インストール(質問)No.00935
たけにー さん 03/02/28 14:25 [ コメントを投稿する ]
>>Folder=test\test01
> これがダメみたいです。
> Folder=test
> とすれば大丈夫だと思います。Folder=で指定できるのは1段階のフォルダのみです。

ご回答ありがとうございます。
という事は

\Program Files\test
              |----\test01
              |----\test02
              |----\test03

というような、企業名の下にシリーズ物を持ってくるような配置をすると
アプリケーションの追加と削除には登録されないという事ですね。

これは将来のバージョンアップ時のお願いなのですが、今回のようにアプ
リケーションの追加と削除に登録されなかった場合は、秀インストールの
最後の画面で「削除はアプリケーションの追加と削除で…」という表示を
しないようにして頂ければ、と思います。
もちろん2段階のフォルダでも可能にして頂ければなお嬉しいです。

Cの環境が無い為自分ではどうにも出来ないので勝手を承知で書きました。
どうかよろしくご検討願いますm(_ _)m
[ ]
(発言者削除)No.00936
たけにー さん 03/02/28 14:56
 
[ ]
RE:00936 秀インストール(質問)No.00937
秀まるお2 さん 03/02/28 16:09 [ コメントを投稿する ]
   Folder=に2段階のフォルダ名を指定してもちゃんとレジストリに登録できる
ようにするには、HideInst.cppのソースコードをちょっとだけ直せばいいです。

 まずは以下の関数を追加します

char* GetLastFolderName( char* psz ) {
    char* pchYen = strrchr( psz,'\\' );
    if( pchYen != NULL ) {
        return pchYen;
    }
    return psz;
}

 そして、

    lstrcpy( szKey, szUninstallKey );
    lstrcat( szKey, szFolder );

 とやってる処理が合計3カ所あるはずなので、それらを全部、

    lstrcpy( szKey, szUninstallKey );
    lstrcat( szKey, GetLastFolderName( szFolder ) );

 のように修正すればいいです。

>また個人的には、最後の画面の、「このソフトを削除するには…」
>の表示が無くなるだけでもありがたいです。

 ダイアログボックスリソースをちょっといじるだけです。

 あまりオプション類を増やすとHideInst.exeのサイズが増えるので、出来れば
細かいカスタマイズはソースコード上でやって欲しいです。元々開発者向けに提
供してるソフトだし。
[ ]
RE:00937 秀インストール(質問)No.00938
たけにー さん 03/02/28 17:03 [ コメントを投稿する ]
お忙しい中ありがとうございました。
先に書きましたが、当方Cの開発環境を持っていないので、

>Folder=に2段階のフォルダ名を指定してもちゃんとレジストリに
>登録できるようにするには

が、将来のバージョンアップ時に実装される事を勝手に期待させて
頂きます。今は現状のままありがたく利用させて頂きます。
お手間を取らせてしまい申し訳ありませんでした。
[ ]
RE:00937 秀インストール(質問)No.00939
秀まるお2 さん 03/02/28 17:30 [ コメントを投稿する ]
   今見て間違いに気づきました。

>char* GetLastFolderName( char* psz ) {
>    char* pchYen = strrchr( psz,'\\' );
>    if( pchYen != NULL ) {
>        return pchYen;
>    }
>    return psz;

char* GetLastFolderName( char* psz ) {
    char* pchYen = strrchr( psz,'\\' );
    if( pchYen != NULL ) {
        return pchYen + 1;
    }
    return psz;
}

 でした。どっちにしてもVisualC++環境が無いということでは関係無い話でし
た。
[ ]
(発言者削除)No.00940
たけにー さん 03/02/28 18:48
 
[ ]

[ 新規に投稿する ]