2023年7月5日水曜日

PC備忘録: 起動時にアプリが見つからないと表示される問題の解決

Windows PCの起動時やサインイン時に「起動に失敗しました」というメッセージが繰り返し出る、といった話を時々聞きます。
自身もその現象に遭遇したため、備忘録として書いておきます。

「起動に失敗しました」が出る問題の概要

「起動に失敗しました」問題は、PCの起動やサインインをした直後に下記イメージ図のようなポップアップが表示されるというものです。


※Hot Soup Processorで自作出力したもので、実際には存在しない画面・アプリです。

また亜種として、黒画面(コマンド プロンプト)が短時間に何度も表示される、というものもあります。

◆問題が発生する要因は?

この起動に失敗しました問題が出る要因は、(1) 存在しないアプリを起動しようとした、(2)存在しているが壊れている、(3)存在しているが場所が移動している、などが挙げられます。

(1)はメーカー指定の手順や提供する専用アンインストールアプリを使用せずに削除した場合に生じるもので、多くはユーザー起因の問題です。
(2)はソフトウェア(プログラム・アプリ)やハードウェア(HDD・SSD)の問題が発生した場合に生じるものですが、昔と比べればこの要因で発生することは減っています。
(3)は通常の操作では発生しない問題で、ウィルス誤検知やプログラム設計者のミス(変更漏れ)などで起きる場合があります。

◆問題が発生した原因は?

(1)は、問題が発生する前にユーザー自身がアプリやドライバーの削除(アンインストール)を行っていることが大半です。問題が起こったアプリやドライバーそのものではなく関連するアプリなどを操作している場合もあります。
(2)は、PCの長時間起動などによる一時的な障害やPC自体の破損などが考えられます。長期間使用していたPCであればリカバリーや買い替えが必要になるかもしれません。
(3)は、ユーザー側で対処できることはほとんどないため、アプリやPCメーカーのサポートを受けるしかないかもしれません。

ユーザー起因の問題を解決する手順

ユーザー自身の操作で発生した場合、大半はユーザーの操作で解消できます。削除したはずのアプリ名やドライバー名が画面内に堂々と表示され「アプリが消せなかったのか」「実はウィルスで復活したんじゃないか」と不安になるかもしれませんが、多くは比較的簡単に解消できるためあわてずに操作しましょう。
私自身も寝起き直後の頭でこの問題に遭遇し、知識はあるのに軽く混乱してしばらくあたふたし続けていた経験があります。知識がある人間ならたやすく対処できる問題ですので、あわてず騒がず落ち着いて対処しましょう。

なお、以下に記載した手順は操作を誤ると別の問題を発生させる場合があります。試してみたい場合は自己責任でお願いします。

◆問題が出ているアプリ・ドライバー類の再インストール

最もシンプルな解決方法は、問題が発生するアプリやドライバーを再インストールすることです。現在もサポートされているアプリ類であれば、大半はこれだけで解消します。
しかしこの方法は、古いPCやマイナーなアプリ類では使えない場合が多いです。「サポートが切れていて公式のアプリや操作マニュアルなどが手に入らない」「このような問題が起こることを想定していない」などのケースが多いためです。

手順に沿って再インストールすればメーカーが想定する最適な設定環境に戻るため、引き続きアプリ類を使用する場合はこれだけで解決できます。
もしアンインストールもしたいなら、この作業の後にメーカーが提供するツールを使って削除しましょう。

もしそういったツールがない場合、以下の手順を試してみてください。ただし、一部自己責任の操作が含まれますのでご注意ください。

◆削除前にスタートアップを無効化

この問題の発生原因に、「スタートアップ」と呼ばれる起動時に実行するアプリのリストに消したアプリが残っている、というものがあります。
メーカー提供のツールでアプリを消した場合は「スタートアップ」のアプリリストからも消されるのですが、手動で削除した場合は消えずに残ってしまうケースもあるようです。

手動でスタートアップを無効化する必要がある場合、スタートメニュー -「設定」-「アプリ」-「スタートアップ」の順に画面を開き、削除したいアプリの設定を【無効】に変更してください。もしリストにアプリが表示されていなければ操作する必要はありません。

なお、他のサイトでは「タスク マネージャー」という管理ソフトで操作する方法も案内されていますが、できる内容は同じです。

◆「プログラム」のアンインストール

スタートアップの無効化が終わったら、アプリをアンインストールします。もしメーカー提供のツールがある場合は必ずそのツールを利用しましょう。
そういったツールがない場合は、スタートメニュー -「設定」-「アプリ」の順に画面を開き、リストの中にある目的のアプリを選んで【アンインストール】をしましょう。

「アプリ」のリストにない場合、以前のWindowsで利用されていた「プログラムと機能」で削除できる場合があります。
スタートメニューの「Windows シスム ツール」から「コントロール パネル」を開き、【プログラムのアンインストール】または【プログラムと機能】を選び、PCにインストールされているプログラムの一覧を表示しましょう。
ここに目的のアプリやドライバー類があれば、項目を選んで「アンインストール」をしましょう。

アンインストールが終了したらPCを再起動し、問題が解決したか確認しましょう。

◆スケジュールタスクの削除

アプリやプログラムの削除をした後も問題が発生する場合、スケジュールに沿ってプログラムを実行する管理ソフト「タスク スケジューラ」にアプリの設定が残っている場合があります。この管理ソフトによって削除されたアプリが起動されていた場合、設定を削除すれば問題が起こらなくなります。
管理ソフトは不用意に操作するとPC動作に大きな影響を与える可能性があるため、Windows ServerもしくはProfessional以上の上位エディションで高度な設定をした経験がない方にはあまりお勧めしません。

  1. スタートメニューの「Windows シスム ツール」から「タスク スケジューラ」を開く
  2. 「タスク スケジューラ ライブラリ」のリストをチェックし、削除したアプリやドライバーがないかチェックする
  3. 該当のアプリやドライバーが見つかった場合、選択して【削除】する
  4. 「タスク スケジューラ」を終了し、PCを再起動する

もしこのスケジュールタスクだけが原因だった(=消したアプリやドライバーは関係しない)場合、この操作により問題が解決できます。

あとがき

「起動に失敗しました」表示の問題は以前のOSから繰り返し発生しているものですが、最近のWindowsは高度な設定をユーザーに触れさせない設計に代わったため、対処が難しく(見えるように)なっています。またWindowsユーザー自身も高度な知識を得ることなくPCを使用するようになったため、発生した問題についての情報をサポート側にほとんど伝えられないケースが増えています。

サポート部門に近い場所で仕事をしていた身として、「誰が」「いつ」「どこで」「何を」「どうした」という最低限の情報を整理する力と、それを他人にうまく伝えるスキルは育ててほしいと思います。この類のスキルは、会社組織で仕事を円滑に進めるときにも重要になりますので。

また昨今は断捨離ブームなのか、PCを快適化するという名目でむやみにプログラム削除を推奨する記事をよく見かけます。メーカー押し売り(失礼)の一生使わない大容量アプリならいざ知らず、軽量で動作に微々たる影響しか与えないないユーティリティやドライバー類まで消させるのは「やりすぎ」です。
そういった記事の中には大量の広告収入を得る事を目的としたサポート紛いページや、古いPCやOS環境を今も使用している人を対象とした備忘録ページなども含まれていますので、なんでも安易に信じて試すのは避けましょう。

2023年5月12日金曜日

HTML備忘録: 変遷したセクション要素

変遷したセクション要素

前書き

このページは、HTML (Standard)に関する情報を備忘録的にまとめたもののひとつです。
専門家がまとめたリファレンスページと違い、専門的かつ高等な情報はありませんのでご注意ください。

セクション要素とは

セクション要素は、HTML内で文書を明確に区分(セクショニング)するために用いられる要素です。

現在主流のHTML Living Standardでは、以下の要素がセクション要素に区分されています。

  • body
  • article
  • section
  • nav
  • aside
  • h1 ~ h6
  • hgroup
  • header
  • footer
  • address

「body」といった昔からの要素もいくつかあるものの、勉強を怠っていた人は「article? section? 何それ?」「header? headの間違いじゃ?」などと混乱してしまうと思います。
現時点でセクション要素を使わない事がページ評価にどのような影響を与えるかはわかっていませんが、いずれAIなどの進化により見た目と内部ソースの両面でわかりやすいページが高品質と評価される未来が来るかもしれません。
今のうちにその性格と使い分け方を覚えておくとよさそうです。

2023年4月11日火曜日

iPod touchの動作異常につながった意外なモノとは

はじめに

かつては一世を風靡したものの、現在は開発生産が終了して後継機に座を譲ったApple社の携帯音楽プレイヤー「iPod」。
未だにユーザーが多いとされるこの端末のtouchモデルで「うまくタッチできない」「反応が悪い」という現象に遭遇しましたので、その顛末を記載しておきます。

概要

  • 動作異常の要因は、画面の傷や汚れや保護シートではなく、「保護ケース」?!
  • 保護ケースが引き起こしたのは、「本体の湾曲」と「熱暴走」?!

2023年4月6日木曜日

HTML備忘録: HTML文書の基本

HTML文書の基本

前書き

このページは、HTML (Standard)に関する情報を備忘録的にまとめたもののひとつです。
専門家がまとめたリファレンスページと違い、専門的かつ高等な情報はありませんのでご注意ください。

HTML文書とは

HTML文書は、テキストデータの一種です。

何も指定しなければプレーンテキスト(文字のみの平文)のように表示されますが、「改行」や「水平タブ」といった文書の整形に使われる特殊な処理が無効となるため、すべての文字が1行で羅列される結果となります。
(画面からはみ出した行が見切れるか折り返されるかは文書閲覧に使用したアプリによる)

プレーンテキストと異なり、文書のレイアウトや装飾、画像挿入などといった指示を「タグ」と呼ばれる専用書式の文字列で指定し、それを再現できる専用のソフトウェア(Webブラウザ等)で開くことにより、リッチテキストのような文書表現が可能となります。
元々はマークアップ文書作成用に生まれた文書形式でしたが、現在ではマルチメディア方面に機能が拡張され、外部のスクリプトやプラグイン等と連携すれば動画や音楽を配信するメディアページや動的アプリケーションなども作成できるようになっています。

HTMLタグとは

HTMLタグは、半角の「<」から始まり、半角の「>」で終わる文字列です。

この2つの記号の間に特定の文字列(要素)を記載することにより、HTML文書の構造や装飾等を表す専用文字列として機能するようになります。
なお、この仕様によりHTML文書内に直接「<」「>」を記述する事はできないため、これらの記号は対応する文字コードに置き換える必要があります。

通常、HTMLタグは「開始タグ」と「終了タグ」のセットで使用されます。
開始タグはHTMLタグの基本書式に沿って「<ABCD>」などと表し、終了タグは「<」の後に「/」を挿入した「</ABCD>」などと表します。
要素の適用範囲を明確にするため、開始タグと終了タグは通常ワンセットで用いられます。
例外的に、開始タグだけで完結する一部の要素は終了タグなしで用いても良いことになっていますが、現在では要素が完結していることを明確化するため、「>」の前に「/」を挿入した「<EFGH ...... />」などの書式を用いる場合が多いようです。

HTML文書の基本構造

良く用いられるHTML文書の基本構造は、おおむね以下のとおりです。

<html>
<head>
<title>HTML文書</title>
</head>
<body>
これはHTML文書です。
</body>
</html>

実際には、これらの行の前に「!DOCTYPE」のタグ情報が挿入されます。

これはHTMLに複数のバージョンがあった時代、表示互換性の問題を解決するためバージョン情報を明示する目的で使用されていた、古い仕様に基づく文書宣言です。
現在はバージョンが統合されているため、一般的に省略しても表示に問題は生じないとされています。
しかし最近までこの情報を読み込んでHTMLバージョンを切り替えていたWebブラウザアプリがあったとも言われており、現在でも意図しない表示になる事を予防するために最初に記述するのが通例となっているようです。

html

「html」で囲んだ範囲は、HTML文書として取り扱ってほしい部分の明示になります。
現在は、音声読み上げなどのユニバーサル機能に対応するため最初に「言語」を明記する事が推奨されており、その情報をhtml要素内に記述するケースが増えています。

head

「head」で囲んだ範囲は、HTML文書の付随情報(メタデータ)として扱ってほしい部分の明示になります。
元々は「ページタイトル」「使用した文字コード」「前後ページとの関係性」など、複数のHTMLページを文書として取り扱う際の文書構成に関わるデータをまとめるエリアでしたが、現在では「検索エンジン」「各種SNSサービス」などの外部サービスと連携するための情報を記載する目的でも使用されています。
また、HTML文書の装飾やレイアウトを指定する「スタイルシート」、動的な表示切替に使用されるJavascript等の「スクリプト」を外部データからインポートする際にも使用されています。

body

「body」で囲んだ範囲は、HTML文書として実際に表示してほしい部分の明示になります。
Webブラウザアプリ等で実際に表示される内容は、この部分に記述された文書を整形したものになります。