たきるブログ

C#やOracleなどの情報を書いています。

作ったものリスト

Windows

Oracle

.NET Framework

PowerBuilder

【Windows】利用している環境のライセンス認証内容の確認

し、しらなかったー!
これはどこかから中古PCや怪しいPCを入手したときにまともなライセンスなのか確認できていいかもしんない。
確認したところで後戻りできるわけでもなんでもないけどw

利用している環境のライセンス認証内容の状態を確認するには、下記コマンドを実行すればいい。
実行するとダイアログが表示されて内容がわかる。
ダイアログ上で Ctr+C を押すことで内容をコピーできる。

簡単な結果を見たいとき

slmgr /dli

実行結果

---------------------------
Windows Script Host
---------------------------


名前: Windows(R), Professional edition

説明: Windows(R) Operating System, RETAIL channel

プロダクト キーの一部: XXXXX

ライセンスの状態: ライセンスされています




---------------------------
OK   
---------------------------

詳細な内容を見たいとき

slmgr /dlv

実行結果

---------------------------
Windows Script Host
---------------------------
ソフトウェア ライセンス サービス バージョン: 10.0.26100.4946



名前: Windows(R), Professional edition

説明: Windows(R) Operating System, RETAIL channel

ライセンス認証 ID: zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz

アプリケーション ID: zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz

拡張 PID: 99999-99999-999-999999-99-9999-99999.9999-9999999

プロダクト キー チャネル: Retail

インストール ID: 999999999999999999999999999999999999999999999999999999999999999

使用ライセンス URL: https://activation-v2.sls.microsoft.com/SLActivateProduct/SLActivateProduct.asmx?configextension=Retail

検証 URL: https://validation-v2.sls.microsoft.com/SLWGA/slwga.asmx

プロダクト キーの一部: XXXXX

ライセンスの状態: ライセンスされています

残りの Windows 猶予期限リセット可能回数: 1001

残りの SKU 猶予期限リセット可能回数: 1001

信頼された時間: 2025/09/05 23:12:33




---------------------------
OK   
---------------------------

上記はまともに3万くらい払って買ったWindows11 Pro の結果。
やったことないから分からんけど、ヤフオクとかでリテール品です!正規です!とか言ってる異常な安さのライセンスを入手して利用したとき、残りの Windows 猶予期限リセット可能回数 とか 残りの SKU 猶予期限リセット可能回数 とかあたりがおかしかったりするのかな?

【Windows】MBRをUEFIに変換と、回復パーティションの作り直し

経緯

仮想OSがこんな環境だった。

  • 第1世代で作成している。
  • vhd で作成している。
  • Windows 10 である。( Windows 7 からのアップグレード)

上記を、これにしたい。

  • 第2世代にする。
  • vhdx にする。
  • Windows 11 にする。

まぁつまり、Windows 10 ではなく、Windows 11 にしたいということ。

手順と、その都度食らった問題の解決を時系列で下記に説明しよう!

事前に注意すべきこと

主に仮想OSで起こりうることとして注意すべき点がある。 それは

Windows 7 からアップグレードしたWindows 10 を、この手順で操作できたとしてもライセンスが外れる

ということである。

これは、仮想OSの世代を変えるには、どうしても手順的には仮想OSを新規で作り直す必要がある。
仮想OSを作り直すと、当たり前だけど別なハードウェアである新しい端末という認識になる。

Windows 10 への無償アップグレード期間は終了しているため、妥当な動作としてライセンスが外れてしまう。

また、Windows 10 自体も 2025年10月14日 にサポートが終了し、それ以降は Windows 11 への無償アップグレードも終了すると言われている。
そのため、第1世代 で Windows 10 環境を用意していた場合、同じことが起こってしまう。

よって、Windows 10 もしくは Windows 11 の正規ライセンスが別途必要となることは予め理解しておく必要がある。

MBRからUEFI へ変換する

手順

  1. vhd ファイルを右クリックメニューでマウントする。
  2. コマンドプロンプト(管理者として実行)から下記を実行する。

    diskpart
    list disk
    
  3. マウントした vhd ファイルのディスク番号を覚えて、更に下記を実行する。
    (2 の部分が、ディスク番号)

    select disk 2
    
  4. Ctrl+C を押して DISKPART から離れる。

  5. 下記を実行する。(2 の部分が、ディスク番号)

    mbr2gpt /convert /disk 2 /allowFullOS
    

これでうまく変換できればOK。
変換できなかったら、下記のサブセクションを見ると幸せになれる場合がある。

Cannot find room for the EFI system partition って出た

これは、対象 vhd ファイルのシステムドライブ(Cドライブ)の空き容量が足りなくて、EFIシステムパーティションで必要とする容量が確保できないときに出るらしい。

回避策としては、とにかくなんとかしてシステムドライブの空き容量を増やすしかない。
どのくらいあればいいのかは分からなかった。

vhd のディスク容量を増やしたが、それもまた回復パーティションの後ろに未割当のディスク領域が確保されるため、回復パーティションをずらさないとシステムドライブの容量を増やすことができなかった。
その手順は下記の通り。
仮想OS、つまり、ディスク容量を変更したいOS上で全部行う。

  1. PC -> 管理 -> 記憶域 -> ディスクの管理 を開いて、回復パーティションに割り当てられているMBの容量を覚える。(画面は閉じない!)

  2. コマンドプロンプト(管理者として実行)から、最終的に回復パーティションを作り直すために、Windows RE を無効化する。(画面は閉じない!)

    ReAgentc.exe /disable
    
  3. 続けてコマンドプロンプトから、diskpart で回復パーティションを削除する。(画面は閉じない!)
    select disk 0 の部分は list disk で出てきたシステムドライブを有しているディスク番号。
    select partition 3 の部分は list partition で出てきた『回復』のパーティション番号。

    diskpart
    list disk
    select disk 0
    list partition
    select partition 3
    delete partition override
    
  4. PC -> 管理 -> 記憶域 -> ディスクの管理 から、システムドライブを選んでボリュームの拡張を行い、一旦すべての未割当領域をシステムドライブにしちゃう。(画面は閉じてOK!)

  5. またコマンドプロンプトから、下記を実行してシステムドライブの領域を縮小する。 (画面は閉じない!)
    select partition 2 の部分は list partition で出てきた『プライマリ』(システムドライブ)のパーティション番号。
    shrink minimum=940 の部分は、 1. で覚えたMBの容量。

    list partition
    select partition 2
    shrink minimum=940
    
  6. またコマンドプロンプトから、下記を実行して回復パーティションを作成する。

    create partition primary
    format quick fs=ntfs
    set id=27
    
  7. Ctrl+C を押して DISKPART から離れる。

  8. 下記を実行して、Windows RE を有効化する。(画面は閉じてOK!)

    ReAgentc.exe /enable
    

ここまでやったら、仮想OSをシャットダウンして、再度最初の手順をチャレンジしてみる。

vhd を vhdx に変換する

手順

  1. Hyper-V から 操作 -> ディスクの編集 を選ぶ。
  2. 変換したい vhd ファイルを選択する。
  3. 『変換』 を選択する。
  4. 『VHDX』を選択する。

これでOK!

仮想OSを作り直す

Hyper-V から新しい仮想マシンを追加する。
第2世代で作り、以前と同じ設定をする。
設定のセキュリティにある『セキュアブートを有効にする』および『トラステッドプラットフォームモジュールを有効にする』にチェックを入れる。

ディスクには、先で変換した vhdx ファイルを指定して、ブート順序を一番上にする。

個人的にはチェックポイントは無効にしている。

余談

Windows 11 の仮想OSを、別なホストに移そうとすると、エクスポート/インポートだけではTPMの関係上でうまく移行できなかった。
下記ページの手順に倣って、証明書の移行も行ったら正しく起動することができた。
https://www.fermata.mydns.jp/index.php/2023/10/25/dev-20220212/www.fermata.mydns.jp qiita.com

余談2

この、めんどくさいMBR->UEFI 変換操作とトラブル回避を悩むくらいなら、下記ソフトウェアを購入すると楽にできる。

www.paragon-software.co.jp

今回は自力でやったけど、どうせ覚えてられないし、念のためにも近々買おうかなと思っとる。
ヨドバシとかAmazonビックカメラとかだと1台版のライセンスも売ってる。
なぜかAmazonだと3台版の方が安いね。

EaseUS Partition Master もできるみたいだけど中国製なので、ドイツ製かつ日本法人を持っている方が個人的に信頼できる。

EmEditorのインストール先を変更する方法

公式
インストール先フォルダを変更するには? – EmEditor (テキストエディタ)

こっちの方法でもいけるっぽい
Q. インストール先フォルダを変更するには? — EmEditor ヘルプ

EmEditorは、いつしかユーザーフォルダー内にインストールされるようになって、通常使う人には違和感なく使えるようになっていると思う。
しかし、作業環境の関係で、ユーザーフォルダーが自由に使えないと、下記のような問題にぶち当たる。

  • そもそもアプリがブロックされてEmEditorの起動ができない。
  • 更新プログラムのチェックで問題扱いされる。

そこで、公式手順を行うと Program Files 内とかにインストールできるようになるから、日頃の使い方ができるようになる。

  1. ダウンロードしたファイルをC:\Temp配下に配置。
  2. コマンドプロンプトを管理者として実行。
  3. 下記を実行。
   cd C:\Temp
   msiexec /i emed64_24.5.3.msi APPDIR="C:\Program Files\EmEditor"

私の環境では、これがとっても重要だった。
色々な社内事情によってあらゆるソフトウェアをブロックするようなことをベースとしている環境では、有用かと思う。

【Windows】Windows11のクリーンインストールでインターネット接続ができずに先に進めない

問題の発生する環境

環境 内容
時期 2024/01/18
インストールしようとするOS Windows11 23H2
ネットワークアダプタ Intel Ethernet Controller I226-V
Intel Wi-Fi6 AX201 160MHz

経緯

新たな自宅PCを組み立て、Windows11をインストールしようとしたら、途中のインターネット接続を求められる画面でネットワークアダプタが出てこなくて一切先に進めない。

原因

ネットワークアダプタが新しすぎて、Microsoft標準ドライバが対応していないからだった。
つまり、上記環境時点では、どうあがいても素直な手順でWindows11をインストールすることは不可能。
OSがアップデートされていくと、そのうち解決するのだと思う。

解決方法

下記ページの手順を行うと解決する。
Windows 11 初期セットアップをオフライン環境でも出来るようにする方法(非ネット接続でのローカルアカウント作成)

ここに、比較的情報量のある表で表現してくれている。
ネット接続必須なWindows 11のインストールで詰む話と解決方法

手順は

  1. Shift+F10 を押す。
  2. コマンドを叩く。
oobe\BypassNRO.cmd

[インターネットに接続していません] リンクから辿って、ローカルアカウントの作成としてインストールを継続できる。

どうしてもIE11でFlashを動かしたい!

IE11でFlashを動かしてたけど、別な起因の関係でWindowsUpdateを実施してしまい、Flashが消えてしまった。
Flashを未だに使っているシステムの改修で、システムを動かすことができない場面が出てきて正直めちゃくちゃ焦った。

現時点ではAdobeからFlashをダウンロードすることができないので、めちゃくちゃ漁りまくった。
下記ページの『Active X Internet Explorer』リンクをクリックすることでダウンロードしてインストールすることができる。 www.techspot.com

その後、C:\Windows\SysWOW64\Macromed\Flash\mms.cfg ファイルを編集し、下記を追記すればいい。
いくつかのサイトでFlashが動いてほしい場合、AllowListUrlPatternを複数行記載する。

追加する内容 説明
EOLUninstallDisable=1 Flashのアンインストールを求めるプロンプトを表示しないようにする。
EnableAllowList=1 ホワイトリストを使用できるようにする。
AllowListPreview=1 AllowListUrlPatternに当てはまらず、ブロックされたリクエストをtrace()によってログに記録する。
AllowListUrlPattern=Flashが動いてほしいURL 前方一致のURLをホワイトリストに加える。

マジでダウンロードできてよかった。
同じ目に遭った人は、ダウンロードしたら、個人的にクラウドストレージとかに保管しておいた方がいい。
上記ページもいつなくなるかわからんので・・・。

【PowerBuilder】PBL内のソースを一括エクスポートする&ソース管理する

当初の目的

PowerBuilderで作成されたアプリケーションをソース管理して、変更点を把握したかった。
それを達成するために全PBLの全ソースを一括エクスポートしたかった。

PowerBuilderの問題点

PowerBuilderを操作しても、PBL単位でしかエクスポートができない。
これはPBLが30も40もあるプロジェクトだと手間で仕方ない。
一度きりなら我慢できるが、ソースを変更する度にその手間が発生するなら目的を達成できない。

作っちまえ!

作りました。

github.com

気づいた問題点

PowerBuilderがバカなことに、少しソースを変更しただけで、いじってもいないコードの位置が変わってしまって比較にならない。
ここはもはやご愛嬌として諦めるしかない。
ソース単位ですべて管理することになったので、多少なりとも管理はできるようになった。 一括エクスポートができるという使い方なら問題ないので。