在 Windows 11 (家用版) 上安裝啟用本機群組原則編輯器 (gpedit.msc)

前言

我有需要在 Windows 11 家用版啟用 gpedit.msc,我決定製作一個啟用的批次檔(.bat),並將幾個步驟與程序筆記下來。

安裝啟用 gpedit.msc

  1. 找一個純文字編輯器,可以使用 Windows 預設的「記事本」,我自己是使用 Notepad++(如下圖)。
  2. 把以下內容,貼進全新空白的檔案:
    @echo off

    >nul 2>&1 “%SYSTEMROOT%\system32\cacls.exe” “%SYSTEMROOT%\system32\config\system”
    REM –> If error flag set, we do not have admin.
    if ‘%errorlevel%’ NEQ ‘0’ (
    echo Requesting administrative privileges…
    goto UACPrompt
    ) else ( goto gotAdmin )
    :UACPrompt
    echo Set UAC = CreateObject^(“Shell.Application”^) > “%temp%\getadmin.vbs”
    echo UAC.ShellExecute “%~s0”, “”, “”, “runas”, 1 >> “%temp%\getadmin.vbs”
    “%temp%\getadmin.vbs”
    exit /B
    :gotAdmin
    if exist “%temp%\getadmin.vbs” ( del “%temp%\getadmin.vbs” )
    pushd “%CD%”
    CD /D “%~dp0”

    pushd “%~dp0″

    dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
    dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt

    for /f %%i in (‘findstr /i . List.txt 2^>nul’) do dism /online /norestart /add-package:”%SystemRoot%\servicing\Packages\%%i”
    pause

  3. 另存成一個批次檔(副檔名 .bat),例如:gpeditmscEnabler。
  4. 執行 gpeditmscEnabler。
  5. 等候執行完成。

後記

  1. 執行這個批次檔之後,在同一個路徑底下,會生出一個 List.txt 的檔案,點開來其就是紀錄執行批次檔時,所安裝元件有哪幾支。

  2. gpedit.msc 是什麼的呢?這個部分,可參閱:群組原則 – 維基百科,自由的百科全書

升級與使用 Windows 11 與嘸蝦米幾個小時後

前言

由於我不想等待微軟推送升級通知,所以,我是自己去官網把 Windows 11 升級所需要的,通通下載下來。最後,我決定用 Windows11InstallationAssistant.exe 完成家裡其中一部電腦的系統升級。

系統從 Windows 10 升級至 Windows 11 後,原本的嘸蝦米 J 是可以直接繼續延用的。

不一樣的設定選單與介面設計

對比一下 Windows 10 上面的介面:我在 Windows 10 上面設定嘸蝦米的筆記,不難發現 Windows 11 上,整個設定選單與介面(下圖),已經重新設計過,我個人在使用上是覺得 Windows 11 的設計比較直覺,Windows 10 給我的印象是的設定路徑並不容易找,每每都像是在尋寶一樣,倒不如直接下指令處理還比較快,而且相較於更早之前的 Windows 版本,我認為 Windows 10 真的比較不直覺。

應該是跑掉的設定

  1. 要進入嘸蝦米本身的設定,方法並沒有改變。

  2. 不過,我原本在 Windows 10 上面做好的設定:取消勾選「繼承系統輸入法狀態(忽略上方預設狀態設定)」,升級後被自動勾回來。

  3. 其餘設定,我就不多言,可以參考我在 Windows 10 上面設定嘸蝦米的筆記

後記

  1. 隨著迭代更新至今,升級 Windows 已經不會太困難,也不容易遇到難以處理的茶包 (Trouble),家裡目前也只有 2 部電腦可以升級到 Windows 11,而我是拿手上非工作用的電腦做升級,先感受一下新系統帶來的不同氣象。
  2. 我目前感受時間並不長久,最多的時間是拿來寫部落格,所以,上述的設定選單與介面設計部分,僅針對語言與輸入法相關而言,其餘部分,我還不確定使用起來的感受如何。

在 Windows 10 上安裝 Visual Studio Code EP3

前言

寫程式,設定好 IDE,可以增加自己的效率,今天來紀錄一下安裝 Visual Studio Code (又稱 VSCode),設定 C++ 的程式設計環境。

我找了個從沒有安裝過的 Windows 10 上面完成安裝的,安裝後把紀錄大致分成幾個部分。

EP 1:安裝 Visual Studio Code 主程式
EP 2:安裝 MSYS2 與 MinGW
EP 3:設定程式設計專案路徑,安裝 Visual Studio Code 語言套件與 C++ 相關套件

設定程式設計專案路徑

  1. 建立一個新的專案,只要下幾道指令就可以搞定,我的經驗是路徑命名要用英文,不要用中文。
  2. 我要設定 C++ 的程式設計專案路徑,我下的指令如下:
    (1)mkdir cppP:先開一個放所有專案的資料夾。
    (2)cd cppP:進入剛才好開的資料夾(放所有專案)。
    (3)mkdir helloworld:這個大家都懂,當然也可以命名為 test 之類的,高興就好。
    (4)cd helloworld:進入 helloworld 這個資料夾。
    (5)code .:啟動 VSCode。

安裝 Visual Studio Code 語言套件與 C++ 相關套件

  1. 下完 code . 這個指令後,就會跳出 VSCode 主程式,勾選「Trust the …」,點下「Yes, I trust…」那個按鈕。
  2. 一進入程式,程式的右下角就會出現「安裝語言套件…」,而且會對應到使用者的系統語言設定,可以不安裝,但如果對中文比較熟悉的人,倒是可以安裝並重新啟動 VSCode。
  3. 找從程式介面左側,從上數下來的第 5 個圖示,在搜尋框打「C++」,把 C/C++ for Visual Studio Code 的套件找出來安裝。

測試 VSCode

  1. 新增檔案,幾個方式可以達成:
    (1)Ctrl+N。
    (2)先在程式介面左邊「檔案總管」,找到一個文件上面有加號的圖示。
    (3)「檔案」→「新增檔案」。
  2. 寫一段程式碼測試看看,這裡我是拿官方給的程式碼,複製貼上,再按「Ctrl+S」,接著再按「F5」,程式會請我們選取環境,我選「C++ (GDB/LLDB)」。
  3. 再選「g++.exe…」。
  4. 執行後,先跳出這個訊息。
  5. 再按一次[Enter],走到這裡應該就是沒有問題了。

後記

Have fun. Enjoy coding.

在 Windows 10 上安裝 Visual Studio Code EP2

前言

寫程式,設定好 IDE,可以增加自己的效率,今天來紀錄一下安裝 Visual Studio Code (又稱 VSCode),設定 C++ 的程式設計環境。

我找了個從沒有安裝過的 Windows 10 上面完成安裝的,安裝後把紀錄大致分成幾個部分。

EP 1:安裝 Visual Studio Code 主程式
EP 2:安裝 MSYS2 與 MinGW
EP 3:設定程式設計專案路徑,安裝 Visual Studio Code 語言套件與 C++ 相關套件

安裝 MSYS2 與 MinGW

  1. MSYS2 網站就有滿詳盡的說明,我基本上也是照著說明服用。
  2. 我這次是下載 msys2-x86_64-20210725.exe,安裝時就是一直「下一步」到「完成」,即使如此,也麻煩要特別注意一下 Installation Folder 這個步驟,確認一下安裝路徑,因為這個後續的環境設定會用到,我想,對於安裝與設定過其他程式設計環境的人,應該不陌生。
  3. 下 3 道命令,把 MinGW 裝起來。
    (1)pacman -Syu:這個指令是為了更新系統的核心套件,更新完會關掉視窗,請至開始功能表找到並開啟 MSYS2 MSYS。

    (2)pacman -Su:更新其他基礎套件。
    (3)pacman -S –needed base-devel mingw-w64-x86_64-toolchain:安裝 mingw-w64 GCC 與相關工具套件。
  4. 如果不想影響 Windows 的 PATH 環境變數,可以使用 MinGW 終端機,但,我想把相對應的路徑加入 PATH 環境變數,這個部分,我不常設定,其實也找了一下,這次就筆記下來,方便以後好找、好設定。
    (1)「開始功能表」→「設定」(齒輪圖示)→「Windows 設定」,再點一下「系統」。

    (2)點「關於」。

    (3)點「系統資訊」。

    (4)進入「系統內容」後,點「進階系統設定」。

    (5)點「環境變數」。

    (6)從「系統變數」欄位中,找到「Path」,點選後,再點「編輯」。

    (7)把「C:\msys64\mingw64\bin」這個路徑,新增進去吧!
  5. 有一個更快速進入「系統內容」[可以參照上述第 4 點的第 (6) 項],就是開 Windows 的 Terminal (CMD) 或是按住「Win+R」,執行 systempropertiesadvanced
  6. 如果有已開啟的 Windows Termial (CMD) 的話,關掉並重新啟動 Terminal,如果沒有,直接啟動一個新的,執行下列命令,確認安裝完成。
    g++ -v
    gdb -v

後記

我在整理自己的紀錄時,發現「安裝 MSYS2 與 MinGW」是相對比較麻煩的,未來如有參考需要時,我可能會先從這一個部分開始安裝與設定。

在 Windows 10 上安裝 Visual Studio Code EP1

前言

寫程式,設定好 IDE,可以增加自己的效率,今天來紀錄一下安裝 Visual Studio Code (又稱 VSCode),設定 C++ 的程式設計環境。

我找了個從沒有安裝過的 Windows 10 上面完成安裝的,安裝後把紀錄大致分成幾個部分。

EP 1:安裝 Visual Studio Code 主程式
EP 2:安裝 MSYS2 與 MinGW
EP 3:設定程式設計專案路徑,安裝 Visual Studio Code 語言套件與 C++ 相關套件

安裝 Visual Studio Code 主程式

  1. Running Visual Studio Code on Windows 網站就有滿詳盡的說明,我基本上也是照著說明服用。
  2. 決定是要用 User setup 或是 System setup:User setup 就是安裝給當下使用的帳號使用;System steup 就是給 All users 使用的安裝。我的電腦只有我個人在使用,我選擇安裝 System setup,我下載的檔案是 VSCodeSetup-x64-1.59.1.exe。
  3. 接下來幾乎就是「下一步」到底,我注意到,安裝過程中,提到「加入 PATH 中 (重新啟動後生效)」。
  4. 所以,我在安裝完主程式後,並沒有立馬啟動它,而是在完成後,立即重新開始,就結束這個回合。

後記

安裝 VSCode 主程式後,接下來就要「安裝 MSYS2 與 MinGW」。

筆記我使用 NSIS 製作 Windows 安裝檔的過程

NSIS (Nullsoft Scriptable Install System) 是一個建立安裝檔非常好用且免費的軟體。

有鑑於資訊的發展日新月異,在進入主題之前,我先註明一下本次筆記內所使用的軟硬體概況:

  1. iMac Retina 4K,21.5 英寸,2017,3.4GHz CPU,8GB 2400MHz DDR4 RAM,120 GB USBHDD
  2. Windows 10 家用版 (版本 1903)
  3. NSIS 3.07

使用前我試著翻閱中英文的說明,不得不說,這些說明反而讓人望之卻步,正當我苦惱之際,在軟體的介面上,看到「Example scripts」幾個字,順勢點進去之後,我分別開啟 example1 與 example2 這 2 個檔案,觀察一下之後,就直接拿 example2 來改,原因是 example2 把 Uninstaller 的寫法直接放進來,而這正是我需要的,服用的方式,也算容易,用 Notepad++ 打開後,我就用取代的方式,把關鍵字「Example2」換成我要安裝的應用程式名稱,除此之外,還走過下面幾個步驟:

  1. 因為要打包的程式,在執行上的需求,我也就把 AccessControl plug-in 安裝進來。

  2. 本以為,直接解壓到 NSIS 的安裝目錄就可以,結果…,因為編譯錯誤的關係,我發現要自己去把「i386-ansi」與「i386-unicode」裡面的 AccessControl.dll 分別移到「x86-ansi」與「x86-unicode」(這支 AccessControl.dll 在兩個夾子的名字都一樣,因此,移動的時候,要特別注意別搞錯)。

  3. 再經過幾次調校後,就成功打包起來。

  4. 可以安裝是一定要的。

  5. 然後,可以全權讀取與寫入,所以,程式的執行上,也沒有什麼問題。

  6. 最後,跑一下 Uninstaller,確認可以移除檔案、資料夾與捷徑。

最後,考慮到安全性的問題,我就不提供 .nsi 的 Scripts 檔下載,直接貼出來給大家參考,如果剛好符合您大致上的需求,也可以直接複製去服用。

; DNW.nsi
;
; This script is based on example1.nsi, but it remember the directory, 
; has uninstall support and (optionally) installs start menu shortcuts.
;
; It will install DNW.nsi into a directory that the user selects.
;
; See install-shared.nsi for a more robust way of checking for administrator rights.
; See install-per-user.nsi for a file association example.

;--------------------------------

; The name of the installer
Name "DNW"

; The file to write
OutFile "DNWInstaller.exe"

; Request application privileges for Windows Vista and higher
RequestExecutionLevel admin

; Build Unicode installer
Unicode True

; The default installation directory
InstallDir $PROGRAMFILES\DNW

; Registry key to check for directory (so if you install again, it will 
; overwrite the old one automatically)
InstallDirRegKey HKLM "Software\DNW" "Install_Dir"

;--------------------------------

; Pages

Page components
Page directory
Page instfiles

UninstPage uninstConfirm
UninstPage instfiles

;--------------------------------

; The stuff to install

Section "DNW (required)"

  SectionIn RO

  ; Set output path to the installation directory.
  SetOutPath $INSTDIR

  ; Put file there
  File "DNW.exe"
  File "makeData.exe"

  ; Write the installation path into the registry
  WriteRegStr HKLM SOFTWARE\DNW "Install_Dir" "$INSTDIR"

  ; Write the uninstall keys for Windows
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DNW" "DisplayName" "DNW"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DNW" "UninstallString" '"$INSTDIR\uninstall.exe"'
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DNW" "NoModify" 1
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DNW" "NoRepair" 1
  WriteUninstaller "$INSTDIR\uninstall.exe"

SectionEnd

Section

  SetOutPath "$INSTDIR\data"
  SetOverwrite on
  File /nonfatal /r "$data\*.*"
  AccessControl::GrantOnFile "$INSTDIR\data" "(S-1-1-0)" "FullAccess"
  AccessControl::GrantOnFile "$INSTDIR\data" "(S-1-5-32-545)" "FullAccess"
# Give all authentificated users (BUILTIN\Users) full access on
# the registry key HKEY_LOCAL_MACHINE\Software\DNW
  AccessControl::GrantOnRegKey \
    HKLM "Software\DNW\data" "(BU)" "FullAccess"
  Pop $0

SectionEnd

; Optional section 
Section "Start Menu Shortcuts"

  CreateDirectory "$SMPROGRAMS\DNW"
  CreateShortcut "$SMPROGRAMS\DNW\Uninstall.lnk" "$INSTDIR\uninstall.exe"
  SetOutPath "$INSTDIR"
  CreateShortcut "$SMPROGRAMS\DNW\DNW.lnk" "$INSTDIR\DNW.exe"

SectionEnd

; Optional section
Section "Desktop Shortcut"

  SetOutPath "$INSTDIR"
  CreateShortcut "$DESKTOP\DNW.lnk" "$INSTDIR\DNW.exe"

SectionEnd

;--------------------------------

; Uninstaller

Section "Uninstall"

  ; Remove registry keys
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DNW"
  DeleteRegKey HKLM "SOFTWARE\DNW"

  ; Remove files and uninstaller
  Delete "$INSTDIR\*.*"
  Delete "$INSTDIR\data\*.*"

  ; Remove shortcuts, if any
  Delete "$SMPROGRAMS\DNW\*.lnk"
  Delete "$DESKTOP\DNW.lnk"

  ; Remove directories
  RMDir "$INSTDIR\DNW\data"
  RMDir "$INSTDIR\DNW"
  RMDir "$INSTDIR"
  RMDir /r "$INSTDIR"

SectionEnd

我在 Windows 10 上面設定嘸蝦米的筆記

在 Mac OS 9 的時代,在輸入法中英文模式切換的部分,我最常用到的切換快速鍵是 ⌘+空白鍵(Space),這個習慣一直延用到 MAC OS X,但是,卻必須去更改 Spotlight 搜尋預設的快速鍵,印象中,大概是上了 El Captain 之後,我便決定習慣新的設定。

在 Windows 上面呢?

我一直停在 Windows 7 之前的設定方式,Windows 7 之後的系統,我接觸的並不多,Windows 10 是因著孩子們上學與遊戲上的需求,買了機器之後才碰到,也因為是孩子們的機器,孩子們並沒有在用嘸蝦米輸入法,裝上嘸蝦米是我在用,所以,我基本上就是試著適應 Windows 10 上面的設定,比方說用 Win+空白鍵(Space) 切換不同的輸入法,按 Shift 切換中文/英文輸入模式。

最近,因為跟孩子們一起玩 Windows 10 上面的遊戲,在鍵盤操作時,不慎碰到 Shift 鍵就會切入嘸蝦米的中文輸入模式,…然後,明明正跟 Boss 打得火熱,畫面卻突然不停出現:「五」、「對」、「三」與「的」四個若隱若現的中文字,只能眼睜睜地看著主角原地不動被 K 爆(氣)。

這樣的狀況,逼得我認真地去瞭解一下 Windows 10 輸入法的相關設定,而以下就是我的筆記:

1.先處理一下 Shift 鍵的問題:

1-1. 用右鍵點一下工具列上的圖示「嘸」左邊的中(或英),再點一下【設定】,就可以進到設定的介面。

1-2. 進到設定介面後,取消【使用 Shift 切換「中文/英文」模式】核取,就搞定。

※PS. 這個設定好之後,要切換的話,就要用 Ctrl+空白鍵(Space) 切換「中文/英文」模式,這樣的設定就會跟蘋果的環境比較接近。

2.設定成使用 Win+空白鍵(Space) 切換中英文輸入模式,大致上幾個設定步驟如下:

2-1.從【Windows 設定】,點進【時間與語言】,再進入到【語言】的設定介面,點一下【新增語言】,去把【English (United States)】加進來, 就會看到下圖的【英文 (美國)】。

2-2.接著,點一下【英文 (美國)】,再點一下【選項】,就進到【語言選項:英文 (美國)】這個介面,找到並點下【新增鍵盤】,把【US QWERTY】加進來。

2-3.回到【語言】的設定介面,找到【鍵盤】並點入,會看到【覆寫預設輸入法】,我就直接設定成【英文 (美國)-US】。

2-4.最後,點一下【中文 (繁體,台灣)】,再點一下【選項】,就進到【語言選項:中文 (繁體,台灣)】這個介面,確定只留下【嘸蝦米輸入法】就好。

2-5.在 Windows 7 以前,我還會設定其他的快速鍵,但是我在 Windows 10,走完上面的流程後,已經不存在其他的中文輸入法,這個設定似乎就不是那麼重要了。

第 2 點所記下來的步驟,是為了滿足我在使用 Windows 時,在某些時空會有這樣的需求,因為,步驟較多且跟以往的 Windows 系統的設定不太一樣,所以再額外筆記下來給自己,以備不時之需。

嘸蝦米 TSF x64 標準版遇到 Microsoft Edge 會跑出來的臭蟲

發現一個嘸蝦米 TSF 版本的臭蟲(bug),目前注意到在 Microsoft Edge 的內建「頁面版面配置」裡面的搜尋框,假設要輸入「十」這個字,結果會出現「j十」;輸入 2 個碼以上的,…我只能用災難來形容。

解決的方式:

  1. 免費:棄用 Microsoft Edge。
  2. 付費:升級嘸蝦米 J。