カテゴリー: Windows

  • ASP.NETのプログラムを新環境にデプロイしたら「有効な Win32 アプリケーション」とエラーがでる

    古いASP.NETのプログラムを、新しい環境でコンパイルして、アプリケーションサーバ(IIS)にデプロイして、テストしたら、下記のエラーが表示された。Visual Studio 2019上では動作している。

    ファイルまたはアセンブリ 'xxxxxxxx.DLL'、またはその依存関係の 1 つが読み込めませんでした。 は有効な Win32 アプリケーションではありません。 (HRESULT からの例外:0x800700C1) 

    問題は、アプリケーションサーバであるIISの設定だった。Windows Server 2019のIIS10は、デフォルトでは64ビットのアプリケーションサーバとして動作する。そのため、32ビットのDLLが混じったアプリケーションを実行するためには、IISの設定で、32ビットのアプリケーションを動作するようにしないといけなかった。

    32ビットのアプリケーションを動作するようにするIISの設定方法は下記。

    1. IISマネージャー(インターネットインフォメーションサーバーマネージャー)を開く。
    2. アプリケーションプールを選択する。
    3. 右クリックして、「詳細設定」を開く。
    4. 全般にある「32ビット アプリケーションの有効化」のプルダウンで、「True」を選択する。
    5. OKをクリックする
    6. アプリケーションタスクで、「停止」して「開始」する(たぶん、リサイクルでもOK)

    これで、32ビットのアプリケーションも動作するようになる。

  • PowerShell 7.1をインストールした

    PowerShell 7.1がMicrosoft Storeから入手できるようになったので、インストールした。Microsoft Storeで、PowerShellと検索して、Microsoft Corporationが公開しているものを選択して、入手をクリックするだけ。Powershell 7.0が自分でインストーラーをダウンロードしてインストールしていたのに比べるとかなり便利。これで、新しいバージョンの配布もされるだろうから、先々を考えると、ストアからの配信はありがたい。

    Microsoft StoreからPowerShell 7.1をインストールしたところ、Windows 10上には、最初からインストールされていたWindows PowerShell、手動でインストールしたPowerShell 7.0、ストアからインストールしたPowerShell 7.1の3つが混在するようになった。使うときに間違えないようにしないといけない。

    あと、どこかでPowerShell 7.0のアンインストールをしないと穴になってしまう。

  • VS2008のアプリをVS2019で開いて、デバック実行したら「Assembly.csが見つかりません」が表示された

    VS2008のアプリをVS2019で開いて、デバック実行したら「Assembly.csが見つかりません」が表示された。「Assembly.cs」を探したが見つからず。元のプロジェクトはVB.NETで書かれている。

    VS2019上には、逆コンパイルで作成も選択できたので、実行してみたが失敗した。

    失敗したので、今度は、Assenbly情報を再作成した。

    1. ソリューションエクスプローラーでプロジェクトを選び、右クリックからプロパティを開く。
    2. 「アプリケーション」を選択する。
    3. 「アセンブリ情報(Y)」をクリックする。
    4. ウィンドウが立ち上がるので、確認してOKをクリックする(なにも変更しなくてもよい)
    5. プロジェクトのリビルドを行う。
    6. デバック実行して、同じエラーにならないかを確認する。

    これでエラーが出なくなった。

  • Windows10の大型アップデートをあてると、復元ポイントが消える

    Windows10の大型アップデート(October 2020 Update)を実行する前に、手動で復元ポイントを作成した。

    大型アップデートを適用して、Ver.20H2になったWindows10で復元ポイントを確認したところ、復元ポイントがなくなっていた。大型アップデートを適用してから、日が浅いので、以前のバージョンに戻して、復元ポイントを確認したが、前に作成した復元ポイントはすべてなくなっていた。

    つまり・・・

    • 復元ポイントを使って、大型アップデートの適用前には戻せない。(前のバージョンに戻せる期間を過ぎると戻せなくなる)
    • 大型アップデートを行うと、手動で作成した復元ポイントも消される。

    いろいろと不具合が起きても、過去のポイントには、Windows10の機能では戻れなくなるので、注意が必要。

  • WSL2でDockerを使えるようにインストールする

    メモとして。前提として、WSL2のインストールは終わっている。

    Docker Desktop for Windowsをダウンロードする。下記のURLにアクセスして、「Get Docker」からダウンロードする。

    https://hub.docker.com/editions/community/docker-ce-desktop-windows/

    ダウンロードしたインストーラー(EXEファイル)を実行する。インストールのときに、「Install required Windows components for WSL2」にチェックが入っているので、WSL2対応もばっちり。

    インストールが終わったら、Windows10の再起動が入る。

    で、なにをしたらいいのかわからないので、チュートリアルを実施。

    チュートリアルの通りにやったら、チュートリアルのコンテナが立ち上がった。

    このコンテナがどこで動いているのか気になって、WSL2のUbuntuでpsコマンドをたたいてみると、dockerに関連したプロセスが起動しているので、WSL2の上で動作していることが確認できた。

     root       185  0.0  0.5 1463396 31664 pts/1   Ssl+ 20:06   0:00 /mnt/wsl/docker-desktop/docker-desktop-proxy --distro-n 
  • Windows 10 ver 20H2のIMEの予測変換がひどいのでオフにする

    Windows 10 Ver.20H2のIMEの予測変換がかなりひどいので、オフにしてみる。Ver.2004でもひどかったが、20H2はさらにひどい。IMEは止め時なのかもしれないが、選択肢がほぼないので、オフにして様子を見る。

    1. 右下のツールバーで、IMEを選んで、右クリックする(「A」か「あ」のアイコン)
    2. 「設定」を選ぶ
    3. 「全般」を選ぶ
    4. 「予測入力」の部分のプルダウンで、「オフ」を選択する

    これで、予測入力は使えなくなるが、誤変換や勝手に選択される問題もなくなる。

  • Windows10 October 2020 Updateが配信された

    Windows 10 October 2020 Update (Ver 20H2)が配信されたので、早速、VAIOにWindows 10に適用した。とりあえず、動作に問題はなし。

    春のとき(Ver 2004)に廃止されていた大型アップデートを遅らせるためのGUIの画面は復活せず。それは、もう、グループポリシーで設定するしかないようだ。

    あと、Ver.20H2にすることで、EdgeがChromiumベースのEdgeに置き換わった。なので、個別にアップデートをしなくても、October 2020 Updateを入れるだけで、Edgeの更新ができる。これは管理する側からすると楽。

    バージョンは、今回は20H2となっている。これは、全部数字にすると、2010になるので、紛らわしくなるので、変えたとのこと。

    https://forest.watch.impress.co.jp/docs/news/1284147.html

  • WSL2でDockerを使えるようにインストールする

    自分のメモとして。

    前提として、WSL2のインストールは終わっている。

    Docker Desktop for Windowsをダウンロードする。下記のURLにアクセスして、「Get Docker」からダウンロードする。

    https://hub.docker.com/editions/community/docker-ce-desktop-windows/

    ダウンロードしたインストーラー(EXEファイル)を実行する。インストールのときに、「Install required Windows components for WSL2」にチェックが入っているので、WSL2対応もばっちり。

    インストールが終わったら、Windows10の再起動が入る。

    で、なにをしたらいいのかわからないので、チュートリアルを実施。

    チュートリアルの通りにやったら、チュートリアルのコンテナが立ち上がった。

    このコンテナがどこで動いているのか気になって、WSL2のUbuntuでpsコマンドをたたいてみると、dockerに関連したプロセスが起動しているので、WSL2の上で動作していることが確認できた。

    root      185  0.0  0.5 1463396 31664 pts/1  Ssl+ 20:06  0:00 /mnt/wsl/docker-desktop/docker-desktop-proxy --distro-n

    Dockerのインストールというかセットアップが簡単すぎて、正直よくわからない。利用する側にしてみると、どのみちブラックボックスなので、このくらい簡単なのがいいのだろう。

  • WSLからWSL2に更新する

    Windows10 Ver.1903でWSLからWSL2にしたので、メモ。WSL2が出たときの手順よりも、かなり楽になってて衝撃的だった。特に仮想マシンのプラットフォームの部分がmsiファイルでインストールではなく、コマンドで済んだので、楽。

    1. 「仮想マシン プラットフォーム」をコマンドで有効にする。

    Powershellを管理者として実行する。下記のコマンドを実行する。

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    PCを再起動する

    2. 規定のバージョンをWSL2に変更する

    Powershellを管理者として実行する。下記のコマンドを実行する。

    wsl --set-default-version 2

    3. 既存のWSLをWSL2に変換する。

    PCにインストールされている既存のWSLの名前を下記のコマンドで確認する。

    wsl -l -v

    次にWSL2に、下記のコマンドで変換する。(Ubuntu-20.04の部分は、上記のコマンドで調べた名前を入れる)

    wsl --set-version Ubuntu-20.04 2
    

    もう一度、「wsl -l -v」コマンドを実行し、WSLのバージョンが2になっているか確認する。

    wsl -l -v

    ■実際に試したところ

    PS C:\windows\system32>  wsl --set-default-version 2
    WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
    PS C:\windows\system32>
    PS C:\windows\system32>
    PS C:\windows\system32>
    PS C:\windows\system32> wsl -l -v
      NAME            STATE           VERSION
    * Ubuntu-20.04    Stopped         1
    PS C:\windows\system32> wsl --set-version Ubuntu-20.04 2
    変換中です。この処理には数分かかることがあります...
    WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
    変換が完了しました。
    PS C:\windows\system32>
    PS C:\windows\system32> wsl -l -v
      NAME            STATE           VERSION
    * Ubuntu-20.04    Stopped         2
    PS C:\windows\system32>
    

  • WordやExcelのファイルをダブルクリックしてもM365のOfficeが開かなくなったときの対処

    Windows Updateなどの影響により、WordやExcelのファイルをダブルクリックしても、Micorosoft365のWordやExcelが開かなくなるときがある。既定のプログラムを調べても、WordやExcelなど正しいアプリが選択されている。そういう場合は、Micorosoft365のOfficeをクイック修復する。

    1. Windowsキーから、「設定」(歯車マーク)を選択し、「アプリ」を開く。
    2. 「アプリと機能」から「Microsoft365 Apps for Business」を選択し、「変更」を選択する。
    3. 警告画面が出るので、「はい」を選択する。
    4. 「クイック修復」を選択して、「修復」をクリックする。
    5. 確認が求められるので、「修復」をクリックする