treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

Windows 10 では「wuapp.exe」がないから用意する

wuapp.exeはコマンドからWindowsUpdateのUIが呼び出せるので、キーボード愛好家/コマンド愛好家のなかでは利用されている方も多いかとお察しします。
Windows10ではこのwuapp.exeコマンドはなくなってしまいました。このためWindows+Rのファイル名を指定して実行欄に「wuapp.exe」と入力してもエラーとなってしまい画面が開きません。

今日はこのwuapp.exeを用意するTIPSをご報告します。
フリーソフトを使ってバッチファイルをexe化するTIPSも含まれています。ご興味がありましたらどうぞ。

 

やり方は?

いきなりですが、この方のブログにやり方が掲載されています。

potatotips.hatenablog.jp

どうもありがとうございました。おかげでwuappコマンドは復活させました。
この場を借りてお礼申し上げます。
標準ではWindows10でwuapp.exeコマンドを実行しても
「wuapp.exeが見つかりません。名前を正しく入力したかどうかを確認してからやり直してください。」
と表示され、WindowsUpdate画面が表示されなくなりました。Windows8.1までは表示できたんですがWindows10ではできないようです。

さて、主目的はこれだけで達成されてしまいました。今日はこれだけで終わり、というのもいいのですが、もうちょっと技術的に興味深い内容をさらにご紹介します。

wuappをどこに置くか

前出の親切な方のエントリでは、C:\Windows\System32に配置されたそうですが、これをランチャ専用フォルダに置くのがいいかな、と個人的には思います。
このようなフォルダを用意する、ということです。
図:ランチャフォルダの例

f:id:treedown:20160220203148p:plain

私の場合、という意味合いですが「C:\Users\Public\userLunch」を作成し環境変数でパスを通します。このフォルダ内に.exe実行のフリーソフトのショートカットを根こそぎ全部配置しています。
この図のように配置してパス切っておくと、puttyjp.exeがどこにあろうともWindows+Rのファイル名を指定して実行欄に「putty」と入力してEnterを押下するだけでputtyが起動します。同じようにショートカットを作成しておけばショートカット名をファイル名を指定して実行欄に入力するだけで.exeファイル(ソフト)が起動できるのでキーボード使いには簡易ランチャとして利用できるので便利になります。

必要な設定

必要な設定は、環境変数にショートカット集の場所を登録するだけです。
図:環境変数設定画面

f:id:treedown:20160220203239p:plain
ユーザ個別の設定にする場合には上のユーザ環境変数、システムで共通とする場合には下のシステム環境変数欄内にあるPath値を探します。
環境変数のPath値にショートカット集の場所(ここでは「C:\Users\Public\userLunch」)を登録します。
図:登録画面=「環境変数名の編集」画面

f:id:treedown:20160220203258p:plain

Windows10ではWindows8.1までと違って入力しやすくなっていますね。

ここまでを実行し、PCを再起動(ログオンし直しでもOK)すると、環境変数設定が適用されるようになります。(一部再起動なしでも適用されますが、一応再起動しましょう。)

なんで、これをしたかというと

引用元のブログで解説されているように、wuappとしたショートカット(正確にはwuapp.lnk)をシステムパスが切ってあるフォルダに格納すればそれでOK、というのは正しいです。
しかしわたくし、wuapp.exeをファイル名を指定して実行欄から起動するのが体に染みついていて、ついうっかり「wuapp.exe」と入力してしまいます。「wuapp」だけだとOKなのですが、「wuapp.exe」と入力すると当然対象は.lnkファイルですので「そんなファイルはありませんよ。」というエラーになります。
勢いで「.exe」まで入力してしまうので、それならwuapp.exeを用意しようと思いました。でもシステムフォルダに配置したら、いざMicrosoftの気が変わってWindows Updateでwuapp.exeが配置されたら上書きされてしまうだろう、という懸念を、
「独自フォルダでパスを切ってそこにwuapp.exeのダミーを配置すれば事足りる」
という結論に達しました。

ではどう.exeファイルを用意したかというと

「Bat To Exe Converter」のx86版を使います。
ダウンロードはソフトの詳しい説明は窓の杜をご覧ください。

窓の杜 - 【REVIEW】バッチファイルを配布しやすいEXE型式に変換「Bat To Exe Converter」

これを使ってwuapp.batからwuapp.exeを生成する方法を、これ以降で簡単に手順を解説します。
まずはバッチファイルに
「%windir%\explorer.exe %LOCALAPPDATA%\Packages\windows.immersivecontrolpanel_cw5n1h2txyewy\LocalState\Indexed\Settings\ja-JP\AAA_SystemSettings_MusUpdate_UpdateActionButton.settingcontent-ms」
と記載してファイル名:wuapp.batとして保存します。
※注
よりコマンドっぽくしたい方はバッチファイルの先頭行に
@echo off
を入力してください。(下図参照)
図:バッチファイルの内容

f:id:treedown:20160220203431p:plain

このようにして作成し保存したwuapp.batを「Bat To Exe Converter」で読み込みます。
図:Bat To Exe Converterでファイル名:wuapp.batを読み込んだ図

f:id:treedown:20160220203446p:plain

すると、画面のように「save as:」欄に同パスに対してファイル名:wuapp.exeを生成する表記が追加されます。「save as:」欄の指定でバッチファイルをexe化したファイルが生成されます。
単純にバッチファイルを.exeファイル化するだけでしたら、この画面で「Compile」ボタンをクリックするとファイルが生成されます。細かなオプションの解説は割愛しますが、単純なexeだけでよければこの三手順だけで生成されるので便利です。
※なお、Bat To Exe Converterのx64版で生成すると、うまく動作しませんでした。

ファイルを配置して実行してみる

さて生成されたファイルを改めてパスを切った「C:\Users\Public\userLunch」に配置しましょう。既に前出の画面キャプチャで「wuapp.lnk」も「wuapp.bat」も「wuapp.exe」も配置されているのが見て取れると思います。この三ファイルがこの手順で生成したファイルです。

つまりwuapp.exeもここに配置してあれば同様に使えるということになりますね。

この画面の状態でパスが切ってあれば、ファイル名を指定して実行欄に入力する値は「wuapp.lnk」でも「wuapp.bat」でも「wuapp.exe」でも、同じく「更新とセキュリティ-Windows Update」画面が表示されます。
つまり私のように勢い余って「wuapp.exe」と入力してしまう人でも、ちゃんとWindowsUpdate画面をWindows10で表示させることが可能ということです。

今回フリーソフト「Bat To Exe Converter」を使ってみましたが、いかがでしょうか?興味深くないでしょうか?
バッチファイルを.exeファイルに変換すると、実行できる幅が結構広がります。特に自動実行やバックグラウンド実行において、バッチファイルよりもexeファイルのほうが格段に扱いやすいです。WindowsIntuneやSystem Center製品でバッチファイルを実行するのは少々手間が掛かりますが、exeファイルを実行するだけであれば単純にウィザードに登録すれば(DOS窓は画面表示されますが)自動実行するのは容易です。
このように、いざバッチファイルに処理を書いてみたものの、自動実行にはexeファイルが必須だ…という場合において、この「Bat To Exe Converter」が威力を発揮することになります。

システム管理者としては覚えておいても損はないTIPSです。