プロが教える店舗&オフィスのセキュリティ対策術

Macrovision InstallShield 12 にてsetup.exeを作成しようとしています。
すでにソフトウェアがインストールされているときにsetup.exe実行しても
インストール作業が行われないようにしたい(できれば「コントロール
パネルからアンインストールしてください」とメッセージを表示したい)
のですが、InstallShieldの設定をどのようにすれば実現できますか?

A 回答 (1件)

質問者さんがやりたい「インストール済みならメッセージを出すだけでインストール出来ない」と言うように作ると「大変危険な状態」になるので、それだけは絶対にやめましょう。



「インストール済みと判断したとしても、上書きインストールが出来る道」を残しておきましょう。つまり「インストール済みの場合は修復の為の上書きインストールを可能にしなければならない」と言う事。

実例を挙げると
1.アンインストール中にハングアップするなどで「プログラムの追加と削除」からは消えているが、レジストリ等に残骸が残っていて動かない状態。
2.再インストールしようとしたら、レジストリ等に残骸が残っている為に、インストーラーにインストール済みと言われ、インストーラーが動かない。
3.アンインストールしようにも「プログラムの追加と削除」から消えているのでアンインストール出来ない。
と言う状況になっている時です。

質問者さんがやりたい「インストール済みならメッセージを出すだけでインストール出来ない」が、上記の状況の「2」の「再インストールを妨害」し「Windowsごとクリアインストールするか、全部消してWindowsをリカバリするしか無い」と言う状況に陥ります。

ユーザーをそういう「どうしようもない状況」に追い込む結果になるので、そういう作り方は絶対にやってはいけません。

当方は、いつも「インストールしてから、もう一度インストールを試し、上書きインストールが出来ない」と判明した瞬間、そのソフトをアンインストールし2度と使いません。市販品なら中古で売ります。売れないソフトならメディアを叩き割ります。「どうしようもない状況」になるのは恐いですから。
    • good
    • 0
この回答へのお礼

確かに言われる通りですね。
上書きインストール出来るようにします。

お礼日時:2007/07/04 10:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!