先月の30日ですかね、TeamViewerのせいでスタートアップの起動が遅い、という記事を書いたのは。
あれからしばらくたったのですが、また最近起動が遅くなってきました。
いつのまにかバージョンアップしちゃったか? と思ってTeamViewerのバージョン確認しましたが、9のままでした。
試しに再インストールしてみましたが改善せず。
困りました、どうすればいいのやら。
何とか出来ないかと思い色々調べたところ、サービス内にTeamViewerが登録されてあるのを発見しました。
スタートアップの種類が「自動」になっていたので、これを「自動(遅延開始)」に変えてみました。
わくわくしながら再起動してみたらばっちし、すぱすぱすぱー、っとスタートアップに登録されたプログラム達が起動しました。
やー、これで解決解決、と言いたいところですが、肝心のTeamViewerの起動が遅い。
遅延起動だから仕方ないですが、デスクトップ表示されてから2分後に起動するのはさすがに遅い。
うーん、これはこれで困るなぁ・・・。
そんなわけで他に対策は無いかまた調べることに。
この起動待ち時間の2分を短縮すればいいのでは、と思ったのですが、どうやらこの待ち時間、他のサービスの起動待ち時間と共通のようです。
つまりTeamViewerだけ早く起動する、というような方法はできず、他のサービスも一緒に早く起動されてしまうようです。
むむむ、どうやら遅延開始は諦めるしかなさそうです。
しかしそうなると、じゃあどうやって遅延起動させれば良いのだろう。
スタートアップの種類を「手動」に変更し、OS起動のたびにサービス画面開いてサービス開始するなんて問題外です。
ていうかそれじゃリモートの意味が・・・。
ここでふと、「TeamViewerのサービスを開始するコマンドを書いたバッチファイルを、スタートアップに登録すれば良いんじゃね?」という考えを思いつきました。
調べてみると「net start TeamViewer」というコマンドを管理者権限で実行すればサービス開始出来る事がわかったので、早速コマンドを書いたバッチファイルを作成。
そのバッチファイルのショートカットを作成し、プロパティから詳細設定を選び、「管理者として実行」にチェックを入れてスタートアップに登録。
さーて、これで問題なく動けば解決だ!
起動のたびにUACダイアログが出るううう!
TeamViewerは問題なくOS起動と同時に立ち上がるのですが、UACダイアログが起動のたびに表示され、毎回「ok」を選ばないといけません。
だめだ、これでは解決になってない。
OS起動時に、サービス開始処理が書かれたバッチファイルを、UACダイアログを表示せず実行する、何か別の方法は・・・
グーグル先生「スタートアップじゃなくて、タスクスケジューラを使え。そっちならUACダイアログ表示せずに実行出来る」
タスクスケジューラには「最上位の特権で実行する」という選択項目があり、これにチェックを入れておけば、UACダイアログを表示せずに登録してあるプログラムを実行してくれるのです。
知らなかった! さすが先生!
早速このバッチファイルを登録してやってみたところ、見事ダイアログ表示されずにTeamViewerが起動しました。
「サービスを開始します」というステータスを表示するために毎回dos窓が最初ちょこっと表示されますが、数秒したら消えるし起動時しか見ないので気にしないことに。
これにて一件落着。
しかしどうしてこんな問題が起きるんだろう。
それがわからないと、根本的な解決とは言えないよなこれ。
でも原因わからないし、とりあえず今はこれで凌ぐしか無いね。
メーカーさん、早く対応してね?
【関連記事(時系列順)】
