質問
皆さん、お世話になります。
会社のパソコンのJavaのバージョンを現在の最新である Java SE 7 Update 5 に揃えたいと考えているのですが、 現在インストールされているのJavaのバージョンがまちまちの状況です。
ざっと種類を数えたところ、 Java(TM) 6 Update 4 〜 Java(TM) 6 Update 33 までの18パターンを数えます。
対象のPC台数は300台程度で、 設置拠点も全国に散らばっています。
そこで、これらの旧バージョンをまずはアンインストールしなくては ならないのですが、これをタスクスケジューラ利用のサイレントモードで 実行したいと考えています。(=ユーザに意識させない)
いろいろ調べて、MsiExec.exeでサイレントアンインストールできるという ところまではわかったのですが、その際に引数で指定するレジストリの値が どのように取得するのかわからず困っています。
参考サイトでは、例えば、バージョン 5.0 をアンインストールする場合
MsiExec.exe /qn /x {3248F0A8-6813-11D6-A77B-00B0D0150000}
でアンインストールできるということが書かれているので、 それに習って、Java6 Update31 を下記コマンドで削除しようとしたところ
MsiExec.exe /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160310}
「この操作は現在インストールされている製品にのみ有効です」 というメッセージが表示され、アンインストールできませんでした。 この値は Specification-Version および Implemenation-Version の 値を組み込むということもなんとなくわかったのですが、 それらをどのように取得するのか調べ切れていません。
そこで、ご存知の方に教えていただきたいのですが、 上記のMsiExec.exeの引数はどのように取得すればよいのでしょうか。 (例えばレジストリから簡単に得られるものだったりするのでしょうか) もしくは他にこのような要件を満たす手法があればお教えいただきたいのです。
ユーザに管理者権限を与えて、古いJavaを手動削除してもらうというのは 最終手段にしたいと思っております。
よろしくお願いいたします。
この内容ですとタイトルは 「Javaのサイレントアンインストールについて」 とかのほうが適切でしたね。すみません。
以前、この投稿なども見つつjavaのバージョンアップの方法を模索していた時期がありました。 いつの間にやら「古いバージョンのjavaをアンインストールする」コマンドオプションが公開されていましたので、こちらに投稿しておきます。
http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html#installing_with_config_file
アカウントをお持ちのかたはこちら
アカウントをお持ちでないかたはこちら
ログインすることであなたの お困り事を全国の情シス担当者へ 質問することができます。
質問
皆さん、お世話になります。
会社のパソコンのJavaのバージョンを現在の最新である
Java SE 7 Update 5 に揃えたいと考えているのですが、
現在インストールされているのJavaのバージョンがまちまちの状況です。
ざっと種類を数えたところ、
Java(TM) 6 Update 4
〜
Java(TM) 6 Update 33
までの18パターンを数えます。
対象のPC台数は300台程度で、
設置拠点も全国に散らばっています。
そこで、これらの旧バージョンをまずはアンインストールしなくては
ならないのですが、これをタスクスケジューラ利用のサイレントモードで
実行したいと考えています。(=ユーザに意識させない)
いろいろ調べて、MsiExec.exeでサイレントアンインストールできるという
ところまではわかったのですが、その際に引数で指定するレジストリの値が
どのように取得するのかわからず困っています。
参考サイトでは、例えば、バージョン 5.0 をアンインストールする場合
MsiExec.exe /qn /x {3248F0A8-6813-11D6-A77B-00B0D0150000}
でアンインストールできるということが書かれているので、
それに習って、Java6 Update31 を下記コマンドで削除しようとしたところ
MsiExec.exe /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160310}
「この操作は現在インストールされている製品にのみ有効です」
というメッセージが表示され、アンインストールできませんでした。
この値は Specification-Version および Implemenation-Version の
値を組み込むということもなんとなくわかったのですが、
それらをどのように取得するのか調べ切れていません。
そこで、ご存知の方に教えていただきたいのですが、
上記のMsiExec.exeの引数はどのように取得すればよいのでしょうか。
(例えばレジストリから簡単に得られるものだったりするのでしょうか)
もしくは他にこのような要件を満たす手法があればお教えいただきたいのです。
ユーザに管理者権限を与えて、古いJavaを手動削除してもらうというのは
最終手段にしたいと思っております。
よろしくお願いいたします。