[WU] 升級 Windows 10 1709 雜記

如果不想等自動推送,可以從此處下載:
https://www.microsoft.com/zh-tw/software-download/windows10

今天測試升級了企業版跟家用版。

除了企業版外,其他 Windows 10 的版本都可以從上述位置下載更新,但今天下載四次都有問題,有可能是網路快取就有問題,也有可能是微軟網站有問題,最後從 MSDN 下載的才能正常安裝。

企業版也只能從 MSDN 或大量授權網站下載新版。

MSDN 下載 DVD 的影像檔,在 Win10 掛載後即可安裝。

首先是紫色底色的畫面,這個畫面主要是拷貝檔案,可同時上網,依照硬碟速度,大概耗時 1 ~ 2 小時,完成後會直接重新開機,所有動作中的視窗會被直接關閉。

重新開機後是淺藍底色的畫面,這個畫面就是正式升級,此時啥事都沒得做,就是等,大概耗時 1 ~ 2 小時。我兩次的經驗各耗時 2.5 小時左右。

再次重開時,會重新初始化 Windows,會有一堆歡迎詞 ,你只能慢慢看,歡迎詞結束後,硬碟 loading 仍然很大,可能造成帳號無法登入,不用考慮修復,我直接從登入畫面選重新開機。

重新開機後帳號就可以正常登入,觀看程式和功能,會發現一堆程式的安裝日期變成今天。

第二次重新開機後,硬碟 loading 仍然很大,我等跑差不多後,再次重新開機後才恢復平時的負載。

碰上幾個問題:

  1. Skype 桌面版會一直閃爍,無法輸入訊息,從工作管理員會看到約自動產生 1x 個 SkypeBrowserHost.exe 持續開開關關,重新開機沒有用,把 Skype 全部砍掉也沒用,Skype 動態磚版沒事,只能移除 Skype 桌面版再安裝。移除後重新安裝會導致釘選在開始工具列上的結果不正常,關閉 Skype 並移除釘選後,重新開機就正常了。
  2. 原先我有跑其他 VM ,所以開機有 Without Hyper-V 兩個選項,bcdedit 編輯的兩個開機選單被移除,得重建。
  3. 我預設 NB 平常會停用其他網卡,包含虛擬網卡,只啟用無線網卡,安裝完以後,乙太網路、藍芽網路都被啟用,但可以停用,而 Hyper-V 更新後強制內建一個預設網路強制啟用,停用後重新開機變兩個,有點不習慣。
  4. 一堆預設軟體被改回 Windows 內建,比如說 Adobe Reader DC、Outlook、看圖軟體、Media Player 、網頁瀏覽器等,建議先跑一次預設程式,手動設定完常用軟體後,再進行正常操作,不正常的軟體建議移除重灌。
  5. Classic Shell 會需要重設,點選畫面上的對話盒即可。
  6. 系統列 (systray) 的網路圖示 > 滑鼠右鍵 > 開啟網路和共用中心 會變成動態磚版本,我喜歡視窗版本只得從 Classic Shell 那邊進去。
  7. 系統列 多了一個 聯絡人 在 動態圖示 左側,有點不習慣。

其它:

我覺得桌面 125% 的字型有變清晰,但不知道是不是錯覺,大家覺得呢?

廣告
Categories: 工作點滴, 更新與回報 | 發表留言

[RouterOS] 阻擋外對內的 DNS 遞迴查詢攻擊

先前這篇:
[RouterOS] 上傳流量爆頻寬

會阻擋所有的 DNS 查詢,相對代表另一件事,區域網路無法透過 Router 查詢 DNS ,只能設廣域網路的 DNS ,由於內部系統習慣使用 Router 作為 DNS Server ,便於外部網路的變化,不影響內部網路設定,因此得改防火牆配合。

建好的規則如下圖,在防火牆的過濾規則中設定,將來自於外網的 DNS 的查詢全數拋棄:

將來自於外網的 DNS 的查詢全數拋棄

將來自於外網的 DNS 的查詢全數拋棄

來分別看看此兩規則的設定值,其中 pppoe-HiNet 為外網的名稱,這邊是使用 ADSL 上網,使用 WAN 也可藉此修改:

DNS TCP General

DNS TCP General

DNS TCP Action

DNS TCP Action

DNS UDP General

DNS UDP General

DNS UDP Action

DNS UDP Action

最後,若需如清單畫面中,分群,在清單中按下滑鼠右鍵,在彈跳選單中選擇 [Comment] ,輸入分群名稱即可:

DNS Query TCP Comment

DNS Query TCP Comment

DNS Query UDP Comment

DNS Query UDP Comment

設定完成後,就可以允許 DNS 查詢了。

DNS Settings

DNS Settings

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[WU] 10 月份 Windows Update 後,Excel ODBC/Oledb 異常

目前已知 10 月份 Windows Update 更新問題將會導致使用
Microsoft Jet 4.0 的 Excel Driver 會出問題,資料庫連線字串使用:
ODBC={Microsoft Excel Driver (*.xls)}
Provider=Microsoft.Jet.OLEDB.4.0;

無法正常使用。

由於目前 Windows Update 均為彙總套件更新,暫時無法鎖定問題發生在哪個 KB 。

緊急應變需先改用:
ODBC={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}
Provider=Microsoft.ACE.OLEDB.12.0;

以上的資料庫連線字串版本。

如需同時安裝不同位元版本 x86/x64 的 driver ,需安裝不同 Office 版本才行,例如 Office 2016 x64 + Office 2013 x86 的 driver ,請依據個人電腦內使用 Office 版本搭配:
在微軟下載中心搜尋時,使用關鍵字為 Access Runtime :
2016: https://www.microsoft.com/zh-tw/download/details.aspx?id=50040
2013: https://www.microsoft.com/zh-TW/download/details.aspx?id=39358
2010: https://www.microsoft.com/zh-tw/download/details.aspx?id=10910
2007: https://www.microsoft.com/zh-tw/download/details.aspx?id=4438
註:2007 僅有 x86 版本。

一般來說,建議安裝最新版本的 Access Runtime ,也就是 2016/2013 ,但千萬記住,安裝前先確認自己電腦 Office 版本與位元版本。

在 VS2017 透過 ODBC 開啟 Excel 檔可以列舉資料庫結構,但不能顯示資料,如下圖:

VS2017 ODBC Excel 錯誤畫面

VS2017 ODBC Excel 錯誤畫面

軟體觸發錯誤事件的錯誤訊息為:
ERROR [HY000] [Microsoft][ODBC Excel Driver] 保留錯誤 (-5016);這個錯誤並無訊息。
ERROR [01000] [Microsoft][ODBC Excel Driver]一般警告 無法開啟登錄鍵 ‘Temporary (volatile) Jet DSN for process 0xeb4 Thread 0x23ac DBC 0x16bd6cf4 Excel’。
ERROR [IM006] [Microsoft][ODBC 驅動程式管理員] 驅動程式的 SQLSetConnectAttr 失敗

事件檢視器畫面如下:

事件檢視器 ODBC Excel 錯誤畫面

事件檢視器 ODBC Excel 錯誤畫面

目前微軟論壇討論可參考這篇:
https://social.msdn.microsoft.com/Forums/en-US/2feac7ff-3fbd-4d46-afdc-65341762f753/odbc-excel-driver-stopped-working-with-unexpected-error-from-external-database-driver-1?forum=sqldataaccess

由於是底層錯誤,所以不管是 ADO / ADO.NET / MFC 等,只要使用到這個資料庫連線字串的,都會掛。

Categories: 工作點滴, 更新與回報 | 標籤: | 1 則迴響

[Android] WebView 啟動時自動調整大小 – Xamarin for VS2017

我的目標網頁有設定在 html5 的 head 有設定下行:

<meta id="metaViewPort" name="viewport" content="width=480px" />

WebView 預設開啟時,並無法正確的映射到這個尺寸,雖然可以在螢幕上點兩下自動縮放到設定大小,但總是要多一手。

因此透過程式碼設定初始化大小,主要就是這句:

MobileBrowser.SetInitialScale(GetDeviceInitScale());

程式碼片段寫在 MainActivity.cs


private int GetDeviceInitScale()
{

// 預設寬度 480d, 100%: 100d
double val = (double) Resources.DisplayMetrics.WidthPixels / 480d * 100d;
return (int)val;

}

protected override void OnCreate (Bundle bundle)
{

base.OnCreate (bundle);

SetContentView(Resource.Layout.Main);

MobileBrowser = FindViewById<WebView>(Resource.Id.MobileBrowser);

//啟用Javascript Enable
MobileBrowser.Settings.JavaScriptEnabled = true;

//支援縮放 ViewPort
MobileBrowser.Settings.LoadWithOverviewMode = true;
MobileBrowser.Settings.UseWideViewPort = true;

// 計算螢幕比例
MobileBrowser.SetInitialScale(GetDeviceInitScale());

MobileBrowser.SetWebViewClient(new CustomWebViewClient());

//載入網址
MobileBrowser.LoadUrl(“http://www.company.com/");

}


這樣開啟 WebView 就會自動縮放到網頁大小了。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[QNAP] 升級 4.3.3 以後,網頁不能被嵌入

上週公司的 Nas 系統受損,在 QNAP 原廠工程師協助下,用新版的 系統 上線,看到有些新功能,就打算把 www 也更新上去。

公司的 www 是以靜態網頁為主,由版面設計師負責,所以有些電廠介紹的網頁,要嵌入在電廠發電網站用的,就請版面設計師處理,在透過 frame/iframe 嵌入在發電網站。

www 更新的很順利,所以更新完也忘了它。過兩天後,慢慢有同仁反映電廠介紹的網頁無法正確顯示,由於我電腦正常,剛好更新韌體後,又有 Windows Update,我就沒積極處理,讓 IT 協助其他同仁去解決。

直到連資訊部的開發人員也發生同樣問題,資訊部同仁電腦狀況我比較熟,我就切入追蹤,我的電腦還是正常,所以在 IE 下強制重新整理 (Ctrl+F5) ,就開始不正常了,看了錯誤訊息是指此網頁不能顯示在框架中,所以之前正常應該是讀我電腦內的快取。

一開始我檢查網頁內容,以為是 google Analytics 改程式碼了,導致形象工程師內嵌在裡面的 script 做了阻擋,請形象設計師移除後,還是不正常,就改用開發模式看:

新韌體預設值變更為拒絕框架

新韌體預設值變更為拒絕框架

疑?居然有 X-Frame-Options 的設定?

用這關鍵字加上 QNAP 一搜尋就有解答,看起來是新版韌體預設加入。

新版韌體

新版韌體

依照 FAQ 是要透過 SSH 連入修改下面這個檔案:
/etc/config/apache/apache.conf

雖然 SSH 有 vi 可以編輯檔案,但我指令早忘了,要查起來使用說明還要花時間,還不如用 SFTP 進去抓檔修改再上傳:

啟用 SSH / SFTP 服務

啟用 SSH / SFTP 服務

config 是個虛擬目錄,要特別注意,點選後路徑會變更:

虛擬目錄 config

虛擬目錄 config

下載 apache.conf 來修改

下載 apache.conf 修改

下載 apache.conf 修改

可以把這行刪掉,官網建議加上 # 註解

用 Visual Studio Code 註解

用 Visual Studio Code 註解

改完後,QNAP 的 www 服務要重新啟用,就恢復正常了。

 

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[WINS] 網卡內的 NetBIOS over Tcpip 無法正常啟用

在先前的

[Hyper-V] 在 Visual Studio Emulator For Android 我的虛擬網路設定
https://tlcheng.wordpress.com/2017/08/03/hyper-v-%e5%9c%a8-visual-studio-emulator-for-android-%e6%88%91%e7%9a%84%e8%99%9b%e6%93%ac%e7%b6%b2%e8%b7%af%e8%a8%ad%e5%ae%9a/

我的無線網卡在測試 Hyper-V 的虛擬交換器建立中,解除虛擬交換器後,忽然發生無法正常使用網路芳鄰,經檢視網卡後,發現我的 [IPv4 WINS 伺服器] 設定沒有顯示,[NetBIOS over Tcpip 已啟用] 顯示為 否。

下圖為修好後的截圖。

NetBios Over Tcpip 是否啟用

NetBios Over Tcpip 是否啟用

公司有架設兩台 WINS 伺服器,所以所有公司及 VPN 內都會設定 WINS ,在 [進階 TCP/IP 設定] 可正常顯示,但在 網路連線詳細資料 或是 ipconfig/all 就是無法顯示。即使試著強制啟用,如下圖,設定為 [啟用 [NetBIOS over TCP/IP](N)] 也沒有作用 (這邊 WINS IP 被我遮掉)。

進階 TCP/IP 設定

進階 TCP/IP 設定

我測試多種情形,包含從裝置管理員移除裝置時,同時刪除驅動程式,讓他自動新增時,使用 Win10 1703 內建驅動程式,但是還是沒用。

經過 google 網海後,我靠下面論壇這篇解決。
https://social.technet.microsoft.com/Forums/windowsserver/en-US/f3a909c8-04e8-485d-894c-3f92683c0fd7/can-not-enable-netbios-over-tcpip-on-shared-network-interface

首先,需要知道問題網卡的 GUID ,若是所有網卡都是預設值,可以將問題網卡上圖設定為 [啟用 [NetBIOS over TCP/IP](N)] ,然後到機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces

找 [NetbiosOptions] 為 1 的,如下圖的項目:

登錄編輯程式

登錄編輯程式

記下這位置的 GUID ,為了確保這張是你的問題卡號,先選到這張卡,回到 [進階 TCP/IP 設定] 改設定為 [預設值(F)] ,回到先前 GUID 檢視 [NetbiosOptions] 是否變成 0 ?若是,這就是你問題網卡的 GUID 。

依序到下面五個機碼下:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Linkage
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Linkage
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBIOS\Linkage
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Linkage
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage

底下的三個多字串值 (REG_MULTI_SZ)
Bind
Export
Route

加入你的網卡。
操作上我建議先複製其他網卡的片段來改 GUID ,再於最後一行貼入,大部分的情況都有多行要貼入。

編輯多字串

編輯多字串

修改完成後,重新開機,讓服務跟網卡都重新啟用就可以恢復正常了。

我另一個同事跟我一樣,在測試 Hyper-V @ Win10x64 時,因為同時 [乙太網路] 跟 [WiFi] 兩張網卡同時加入 Hyper-V 的 虛擬交換機管理員 內,造成兩張網卡的 NetBIOS over Tcpip 都無法啟用,也利用此方法恢復了,我是懷疑可能是 Hyper-V 加入虛擬網卡,移除實體網卡 NetBIOS 能力,當解除虛擬網卡時,未正確自動恢復實體網卡的 NetBIOS 能力。

最後,依據上述關鍵字,在手動修復前或許可以先測試這篇:

如何使用 NetShell 公用程式重設 TCP/IP
https://support.microsoft.com/zh-tw/help/299357/how-to-reset-tcp-ip-by-using-the-netshell-utility

用內建工具程式修看看。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[WiFi] 無線網路無法列舉搜尋附近的無線訊號

我的 NB 因為前一篇

[Hyper-V] 在 Visual Studio Emulator For Android 我的虛擬網路設定
https://tlcheng.wordpress.com/2017/08/03/hyper-v-%e5%9c%a8-visual-studio-emulator-for-android-%e6%88%91%e7%9a%84%e8%99%9b%e6%93%ac%e7%b6%b2%e8%b7%af%e8%a8%ad%e5%ae%9a/

被我玩傻了。

一下把 WiFi 加入虛擬交換器,一下退出,不然就是移除裝置重新掃描。

最後發生奇怪的事,無線網卡正常狀態,但是附近的無線訊號就是不會出現可以點選。

查了半天,是這個服務:
WLAN AutoConfig

狀態為 正在停止中 ,從服務管理無法啟動或停用,因為卡在正在停止中。

只能透過 [工作管理員] ,先從 [服務] 找 WLAN AutoConfig 的 [PID] ,再到 [詳細資料] 依 [PID] 找到對應的 svchost.exe 選 [結束工作] ,最後再回到 [服務] 對 WLAN AutoConfig 選 [啟動]。

如果不會操作的話,最簡單就是重新開機。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[Hyper-V] 在 Visual Studio Emulator For Android 我的虛擬網路設定

我在 Win81 時的 Hyper-V 中,透過 Loopback 網卡來分享 WiFi 給虛擬機用:

[Hyper-V] 我 NB 用的虛擬網卡
https://tlcheng.wordpress.com/2016/02/22/hyper-v-%e6%88%91-nb-%e7%94%a8%e7%9a%84%e8%99%9b%e6%93%ac%e7%b6%b2%e5%8d%a1/

當時的 NB 是效能不是很好,所以一直沒考慮使用 Hyper-V 跑 Android 模擬機,一直用 VirtualBox 來跑 Android 模擬機。

Visual Studio 2015 (VS) 以後,微軟推出了整合 VS IDE 開發環境與模擬機的架構,提高 Android 行動軟體開發速度,沒有安裝 VS 的電腦也可以安裝來跑 Android 模擬機:

Visual Studio Emulator For Android (以下簡稱模擬器)
https://www.visualstudio.com/zh-hant/vs/msft-android-emulator/

當然有安裝 VS 2017 的有內建,VS 2017 內建的版本比上述網站下載的還新。

我開始在 Hyper-V 測試模擬器,一開始就卡在開機中的畫面,不知道啥原因:

卡在開機中的畫面

卡在開機中的畫面

 

Terry Lin 建議我依照下面這篇除錯:

Visual Studio Emulator for Android 疑難排解
https://msdn.microsoft.com/zh-tw/library/mt228282.aspx#NoStart

無法解決問題,之後 Ian Chen 建議我把所有 Virtual Switch 全部砍掉一預設值重建,砍掉前我有看了一下設定後,砍掉重建,重建後我的模擬機就能完成開機,但卻出現不能上網。

Windows Phone Emulator Internal Switch

Windows Phone Emulator Internal Switch

註:後來是因為我的 Windows Phone Emulator Internal Switch 內不知道為啥預設是 169.* 開頭的 IP ,這裡必須是動態取得 IP

一開始無法上網,我依據先前跑 Windows VM 的慣例,把 Microsoft Loopback 網卡設定給 Android 模擬器,但是還是無法上網,Aska Su 建議我用 Hyper-V 建一個 Hyper-V Loopback 內部虛擬網路:

Hyper-V Loopback

Hyper-V Loopback

再把 WiFi 分享給 Hyper-V Loopback 虛擬網卡:

共用 WiFi 給 Hyper-V Loopback

共用 WiFi 給 Hyper-V Loopback

 

我用 Windows VM 測試,也可正常成功。

Hyper-V Loopback 速率 10 Gbps

Hyper-V Loopback 速度

Hyper-V Loopback 速度

比 Microsoft Loopback 網卡 1.2 Gbps 快。

Microsoft Loopback 速度

Microsoft Loopback 速度

 

但是 Android 模擬器仍無法上網。測試各種方案,Android 模擬機都會自動把 Windows Phone Emulator Internal Switch 虛擬網卡自動加入,若是參數不正確,還會自動把前次設定錯誤的網卡刪除。

苦無對策,拜了 google 大神,一般解決方案都是將無線網卡加入第二張 Android 模擬機網卡,這表示我得放棄不將 WiFi 加入虛擬交換器,必須將 WiFi 加入到 Hyper-V 內。

虛擬交換器管理員

虛擬交換器管理員

WiFi 一加入虛擬交換器就會組成網路橋接器,這讓網路管理複雜很多:

網路橋接器

網路橋接器

加入到 Android 模擬機第二張網卡:

WiFi 加到第二張網卡

WiFi 加到第二張網卡

就可正常上網了:

從無線基地台取得實體 IP

從無線基地台取得實體 IP

註:若網路設定錯誤,Android 模擬機仍會自動將無線網卡刪除

成功上網後,摸清楚特性,就測試改用 Hyper-V Loopback 網卡,由於 Hyper-V Loopback 網卡為內部網卡,只要一設定 IP ,例如共用網路變成 192.168.137.1 ,就會造成模擬機無法開機,只有外部網卡能設 IP。因此又回頭使用 Microsoft Loopback 網卡加入虛擬交換器:

Microsoft Loopback 加入第二張網卡

Microsoft Loopback 加入第二張網卡

再將 WiFi 分享給 Microsoft Loopback 虛擬網卡

WiFi 分享給 Microsoft Loopback

WiFi 分享給 Microsoft Loopback

一樣自動被設定為 192.168.137.1

虛擬網段 IP

虛擬網段 IP

讓網路設定變得比較乾淨:

實體網卡好管理

實體網卡好管理

終於,可以把先前的 Microsoft Loopback 網卡分享給 Android 模擬機。

透過 Microsoft Loopback 取得虛擬 IP

透過 Microsoft Loopback 取得虛擬 IP

平常沒有使用 Hyper-V 的時候,我就會停用不相關的網卡,另外重新把 Windows VM 網卡設給 Microsoft Loopback ,反正 1.2 Gbps 也夠我用了,平常就懶得動,直接用同一張須擬網卡就可以,這樣在外沒有無線基地台的情況下,模擬器也可以透過 192.168.137.* 網段與 NB 溝通,恢復到我的習慣工作環境了。

Categories: 工作點滴, 技術分享 | 標籤: | 2 則迴響

[WU]安全性更新後 Excel 很慢、且無法開啟檔案

這個月的安全性更新中, Office 更新完後,公司部分電腦的 Excel 發生異常,直接點檔案兩次,會跳出:

傳送命令給程式時發生錯誤

Windows 找不到檔案路徑\檔案名稱,請確定您輸入正確的名稱,然後再試一次

所以依照 DDE 的標準方式處置,包含移除非微軟的增益集,其中發現了奇怪的現象,如圖,會出現:

excel_addon_01

符號表工具列 增益集

 

在 增益集設定中 ,出現硬碟找不到實體路徑的 Office 2007 (office12) 的增益集 [Chinese Translation Addin]

excel_addon_02

增益集 [Chinese Translation Addin]

試過修復 Office 也沒用,開新帳號測試,結果新帳號正常。

研判應該是註冊資訊檔異常。

1. 關閉 Excel ,由於 Excel 異常,可能無法正常關閉,請務必使用工作管理員確認 Excel 關閉。
2. 將下列機碼的 Excel 改成 Excel.old

Excel 2010
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0\Excel

Excel 2013
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\15.0\Excel

註:部分電腦 HKEY_LOCAL_MACHINE 下可能沒有 Excel ,若沒有可忽略

3. 從開始工具列捷徑 開啟 Excel ,頁籤應已無 標點符號增益集
4. Excel 選項 > 增益集 > COM增益集 > 把不存在的增益集刪除
5. 關閉 Excel ,對著一般 excel 檔案點兩下,看是否正常開啟。
6. 正常開啟後,可把機碼 Excel.old 刪除,收工。

目前發現會出問題無法正常開啟的是 Office 2010/2013 x86 。
Office 2007 有碰上加入這個工具列,但可能本來就是 Office 2007 的增益集,因此不會發生衝突,不用可停用。

我懷疑是微軟封裝更新時,忘了把機碼移除,導致大家死得很難看。

參考:https://support.microsoft.com/zh-tw/help/280504/how-to-troubleshoot-startup-problems-in-excel

註:這周小紅傘更新後,預設排程每 168 小時全機掃描一次,好像變成每 168 分鐘掃描一次,也造成 Excel 很慢,暫時先停用排程,建議大家也看看小紅傘事件紀錄。

Categories: 工作點滴, 更新與回報 | 標籤: | 1 則迴響

[Minecraft] 發生更新失敗可以試著清理磁碟

小女兒在老婆電腦裝 Minecraft ,今天跑來找我說,要升級到 1.12 版都失敗,但是女兒講不出錯誤狀況。

去看了一下,點選下載,跑一下就跳出下載失敗。

感覺是被快取擋了。

透過 檔案總管 > C 碟 > 滑鼠右鍵 > 內容 > 磁碟清理

網際網路的暫存檔有 1.2GB ,清理完後,再跑升級就正常慢慢下載了。

Categories: 嗜好 | 標籤: | 發表留言

[Office] 將 Word 預設單位改為公分

Word 預設單位顯示為字元,習慣舊版用公分的可能會不習慣。

如下圖,邊緣的尺規、樣式都顯示為字元。

使用字元單位

使用字元單位

 

以 Word 2013 為例,操作方式為:

開啟 Word > 選單 > 檔案 > 選項 > 進階 > 顯示

將 [顯示字元寬度單位] 的勾勾移除。

顯示字元寬度單位

顯示字元寬度單位

則 Word 才會依照上圖的 [顯示度量單位] 的單位進行顯示。

例如下圖為 A4 的尺規。

使用公分單位

使用公分單位

Categories: Office, 技術分享 | 標籤: | 發表留言

[WinPE] EaseUS Todo Backup 還原新硬碟

Todo Backup Free 10.0 是一套僅有英文介面的全機備份還原軟體,採用 Win10 的 WinPE,可以使用行動碟開機,例如 GPT 4TB ,特別的是可以用在純 USB 3.0 環境。

大部分備份還原軟體可能會發生無法使用 USB 3.0 開機或是插 USB 3.0 的鍵盤、滑鼠不支援,Todo Backup Free 可解決這個問題。

http://www.todo-backup.com/products/home/free-backup-software.htm

但 Todo Backup Free 有個傻問題,當你要還原到新硬碟時,會因為硬碟沒規劃磁區,因此選不到磁碟,無法還原。

解決方案是呼叫 Windows 內建的 Diskpart.exe:

  1. 主畫面工具列右側選 [Tools]
  2. 選 [Windows Shell] 會跳出命令列提示字元。
  3. 執行 [Diskpart]
  4. 輸入執行 [list disk]
  5. 找到新硬碟的磁碟代號 n,輸入執行 [select disk n]
  6. 非必要步驟,檢查磁碟詳細狀況,輸入執行 [detail disk]
  7. 一般新硬碟為 mbr 基本磁碟,不必特別輸入指定,可參考步驟 6 的詳細狀況,若非 mbr ,輸入執行 [convert mbr]。
  8. 建立主要磁區,由於只是為了在介面能顯示出來,所以不用管大小,直接建立,輸入執行 [create partition primary]
  9. 指定磁碟代號,輸入執行 [assign]
  10. 檢查磁碟詳細狀況是否完成設定,輸入執行 [detail disk]

若沒其他問題後,回到 Todo Backup Free 主畫面選 [Browse to Recover] 即可依照精靈介面選擇,開始還原到空硬碟。

http://www.todo-backup.com/products/home/screenshots.htm

講實在,不支援新的空硬碟滿瞎的,但看在 USB 3.0 支援分上,只好忍著啦~

Diskpart 官方網站參考用法:

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[W7E] Windows 7 Embedded 預設環境安裝

這篇是工作紀錄,理論上正常的影像檔應該不會有此問題。

公司買工業電腦有隨附 Windows 7 Embedded (W7E) x86,因為上面會跑我們的東西,基本上是盡量把功能都裝上去,在安裝過程中有碰上一些問題,但是透過業務回去要工程師解決要排隊,所以就盡量跳過回頭改 W7E Image 的作法。

第一次同事僅跑一次安全性更新後,欲安裝 SQL Server 2014 Express,一直卡在 .Net framework 2.0 不過,但是安裝程式檢查 .Net framework 2.0 是存在的,所以很難搞,換我接手處理。

重新還原影像檔案後,跑安全性更新跑到沒有更新為止,大概共五次,其中第四次有更新到 .Net framework 3.51 ,看到更新到這塊就安心了。

先安裝好 Internet Explorer 11 及 .Net framework 4.0 Client 做準備。

開始安裝 SQL Server 2014 Express SP2 時,關閉線上更新檢查,有特別看檢查環境清單,包含 .Net framework 、PowerShell 2.0 都顯示是已經有的,接著開始繼續安裝,安裝過程很快通過先前 .Net framework 2.0 安裝,之後約跑到 70% 仍然跳出錯誤,顯示 PowerShell 2.0 的錯誤,繼續可以把大部分安裝完,比如說 LocalDB ,但最重要的 Service / SSMS 卻是安裝不上去。

W7E 沒有新增移除元件,PowerShell 2.0 又是 Win7 內含元件,這部分問了一下工業電腦業務,感受到需要一點時間,便改問 google 大神。
由於 PowerShell 2.0 為 Win7 內建元件,微軟下載中心只有 Vista 以前安裝包,不能安裝到 Win7 上。
考慮到 PowerShell 3.0 是 2.0 更新有試過安裝 PowerShell 3.0 ,可能是 PowerShell 2.0 不完整,因此造成 PowerShell 3.0 不能安裝。
最後只能試 PowerShell 4.0 ,從微軟網站下載:https://www.microsoft.com/zh-tw/download/details.aspx?id=40855
安裝 Windows6.1-KB2819745-x86-MultiPkg.msu

安裝完後,重新跑 SQL Server 2014 Express SP2 修復安裝,就可以把資料庫引擎、管理工具都正常安裝,所以 SQL Server 2014 雖然最低需要 PowerShell 2.0 ,但可以用 PowerShell 4.0 取代。

不過我沒試最新的 PowerShell 5.1。
https://www.microsoft.com/en-us/download/details.aspx?id=54616

找的過程倒是看到個奇妙的東西,以前不搞 PowerShell ,一直沒關注:
PowerShell ISE (整合式指令碼環境)
https://msdn.microsoft.com/zh-tw/powershell/scripting/getting-started/fundamental/windows-powershell-integrated-scripting-environment–ise-

可以直接看影片看範例:
https://www.youtube.com/watch?v=uDBvFIPWNJE

接下來開始處理 Windows Media Player 撥放 wmv 測試,我們家的 W7E Image 不能播?一樣開始拜 Google 大神,沒啥用,因為 WMV codec 應該是 Win7 內建,封裝沒處理下,根本解不了。

下載 WM9Codecs.exe ,但是不給裝,說與 Win7 不相容。
https://www.microsoft.com/en-us/download/details.aspx?id=507

後來測試將 WM9Codecs.exe 解壓縮後,分別對下列兩個檔案滑鼠右鍵、安裝,之後就可以播放 wmv 了:
codecs9x.inf
codecs10.inf

暫時把工業電腦相關檔案及環境都設定好了。

Categories: 工作點滴 | 標籤: | 發表留言

[安全] Outlook 預設無法顯示網路上的圖片才是正常的設計

最近在論壇上看到一些很瞎的言論,很多人認為 Outlook / Live Mail 是一種很爛的設計,應該改掉或換軟體,這才是錯誤的觀念。

隨著多媒體社會到來,eMail 弄得美美的是常見的行為,因此 eMail 內有圖片,感覺就是高大上。

圖片有兩種方式放在 eMail ,一種是嵌入,一種是網路上的來源。

嵌入就是把圖片直接包含在 eMail 內,一般使用者在寄送 eMail 時,預設行為是嵌入,也就是說你正常在 Outlook 或其他郵件軟體寫信的時候,你只能使用這種模式。

網路上的來源表示,圖片是用參照的方式伴隨 eMail 寄送,瀏覽信件時才下載,通常是廣告信軟體或是從網頁剪貼內容貼到 eMail 時,才會變成網路上的來源。

因此嵌入的信件,圖片所占用的網路流量是寄送時發生,讀取時不會再產生,可離線閱讀。

網路上的來源,圖片所占用的網路流量是讀取時發生,每次讀取時,每次下載圖片,因此不能離線閱讀。

正常來說,你寄信給對方,對方通常會看,所以圖片嵌入信件才屬正常,所以一般往來郵件都會正常顯示。

但是廣告信通常會被歸類為垃圾郵件,很多會在 Mail Server 就被擋掉,用 WebMail 可能會看到一堆垃圾郵件根本就沒收到 Outlook 內,使用者根本看不到,所以廣告信被讀取率大概在 5% 以下,內嵌圖片的話,對於寄信端網路流量壓力太大,因此透過網路上的來源可以節省 95% 以上的網路流量,可降低網路使用成本。

所以早期的 Outlook 是允許直接出現網路上的來源。

大概是在 2004/07 左右的安全性更新,預設行為改成不讀取,需要使用者變更安全性設定。

又為哪樁?

隨著 eMail 大量使用,廣告信業者或是惡意郵件根本就不知道那些 eMail 還有人在用。比如說 01@gmail.com ~ 10@gmail.com 共 10 個連號郵件,可能只剩 5 個還有人用,其中可能只有 1 個是活躍 (經常使用) ,或是整個系統的 spam 都被過濾了,那麼蒐集到的有效 eMail 實際上可能只有 10% ,浪費流量在不存在的 eMail 中,根本是浪費成本,所以可以透過很簡單的小技巧,例如在信件內的網路上來源使用自管的 web server 圖片,內容為:

<img src='http://自管webserver/路徑/圖片.jpg?eMail=你的信箱' />

當圖片被讀取時,就可以知道這個信箱使用中,使用者目前在哪國用哪家業者網路上線,配合反追蹤 (trace router) 還可以大致鎖定城市,甚至依據 Agent 的內容,還可以探知作業系統版本,使用哪種瀏覽器,幾點第幾次讀取。

基於保障用戶的隱私,預設值變成不讀取,如下圖。

預設不下載圖片

預設不下載圖片

藍色框框是 Outlook 提醒你這是正常的狀況,你可以自己變更。

綠色框框是發信單位都知道這個預設情形,所以直接給你超連結,讓你改用網頁瀏覽,但如果不是可信任的寄件者,請不要點選。

安全與方便是取捨問題,要更多的安全,就是不方便,要更多的方便,就是不安全。

要讀取圖片,點上圖紅色框框,可以變更:

允許下載圖片

允許下載圖片

  • 僅這封郵件要有圖片,點選「下載圖片」。
  • 要讓這個廣告信發信者以後都自動下載圖片,點選「新增寄件者至安全的寄件者清單」。
  • 要讓這個廣告信公司,例如玉山銀行,以後都自動下載圖片,點選「新增 xxx 網域至安全的寄件者清單」
  • 要變更所有圖片自動下載的設定,點選「變更自動下載設定」,如下圖:
變更自動下載

變更自動下載

把「不自動下載 HTML 電子郵件訊息或 RSS 項目中的圖片」勾勾拿掉。(不建議)

下載過圖片的信件,之後不管第幾次開啟,都會自動載入圖片。

自動下載圖片

自動下載圖片

廣告信要直接內嵌圖片可參考這篇做法:[VBNET] 在 HTML 郵件內加入樣式庫

Categories: 電腦和網際網路, Office | 發表留言

[WU] 升級 Windows 10 1703

台灣時間 2017/04/05 後 Win10 1703 已經開始發布,大部分的人還在苦苦等候 Win10 自動推送,若急著裝,可直接用 Win10 連結下面微軟網頁:

https://www.microsoft.com/zh-tw/software-download/windows10

若使用 Win10 連線,會自動出現 [立即更新] 這部分,若不是使用 Win10 連線,只會出現 [立即下載工具] 。

立即升級 Win10

立即升級 Win10

點選 [立即更新] 安裝,會在桌面上出現 [Windows 10 升級小幫手] ,並自動執行,若沒有自動執行或失敗,下次可點選 [Windows 10 升級小幫手] 。

Win10 升級小幫手

Win10 升級小幫手

若升級完成還執行 [Windows 10 升級小幫手] ,會跳出畫面顯示 已是最新的 Windows 。

最新 Windows

最新 Windows

這個軟體看起來應該是微軟企圖要做為未來升級工具用,升級完成後,不會自動移除,可自己到 [程式和功能] 去移除,省得在桌面占空間。

程式和功能

程式和功能

目前我升級幾台的經驗,[程式和功能] 若依照安裝日期排序,會發現很多軟體安裝日期被更改到 Win10 升級的那天,包含 [Windows 10 升級小幫手] ,由於安裝完 1703 ,Win10 會重新進入歡迎畫面,所以推測可能是 Win10 判斷軟體安裝資訊受損時,自動啟動重裝,部分檔案預設軟體可能因為自動重裝後,產生預設軟體改變,例如說圖檔可能會變回預設 Win10 開啟,或是 Zip 回復到 Win10 內建解壓縮,這個可能需要自己處理。

上面的網頁 [立即更新] 只支援 家用版 及 專業版 ,若是企業版,需要從大量授權網站下載 Win10 1703 企業版 ISO 安裝光碟直接點選 setup.exe 才能升級。

Win10 1703 比較像是新版本的安裝,所以多數安全性更新或 Windows Update 更新錯誤是不用管,安裝新版後會修復,但仍有相關問題不能安裝,Windows Update 不能正常執行時,可從下面網頁點選 Win10 疑難排解員進行故障排除:

https://support.microsoft.com/zh-tw/instantanswers/512a5183-ffab-40c5-8a68-021e32467565/windows-update-troubleshooter

若有特定 KB 不能安裝,可透過下面網頁搜尋下載離線安裝:

https://www.catalog.update.microsoft.com/Search.aspx

請輸入完整 KB 及數字,例如:

https://www.catalog.update.microsoft.com/Search.aspx?q=KB4015438

Categories: 工作點滴, 技術分享, 更新與回報 | 標籤: | 4 則迴響

[Chrome] 模擬行動裝置瀏覽器

話說,去年 10 月就在喊,Chrome 會在去年 12 月放出 低耗能 的正式版,終於在前兩天放出來了,紀念一下今天更新 Chrome ,就來看看工作利器,模擬行動裝置瀏覽器的操作步驟。

Chrome 57省電有一套,將背景分頁CPU使用率限制在1%內

選 Chrome 是因為夠直覺,但最重要一點是虛擬機沒法比的,就是 桌面版 Chrome 內建的開發工具,可以方便針對 javascript / css / html 語法除錯。

直接上 Chrome 57 的螢幕截圖:

從右上角 設定符號 展開選單,點選 [開發人員工具]

開發人員工具

開發人員工具

在開發工具 展開設定選單,點選 [Settings]

設定

設定

勾選需要模擬的內建裝置,或自己新增自訂裝置

新增自訂裝置

新增自訂裝置

開發工具在工具列點選 切換網頁為 裝置模擬畫面

切換網頁為裝置模擬畫面

切換網頁為裝置模擬畫面

選擇要模擬的行動裝置,這邊以 Microsoft Lumia 950 為例。

選擇模擬裝置

選擇模擬裝置

從工具列可以修改長、寬 (預設裝置),若已選定模擬裝置,只能選擇縮放比例跟轉向,部分裝置不提供轉向功能。

轉為橫向

轉為橫向

操作時,可看到一個大大的圓圈,是滑鼠模擬手指點選的中大圓形。

滑鼠模擬手點為中大圓形

滑鼠模擬手點為中大圓形

IE 11 雖然也有簡單的模擬功能,但是沒有這麼視覺化,Chrome 桌面版在桌面狀態下不支援 viewport 設定及 SVG 縮放,但是在行動裝置模擬狀態時則支援。

紀念一下 Chrome 節電 66%~

Categories: 電腦和網際網路, 行動裝置, 工作點滴 | 標籤: | 1 則迴響

[Office] Outlook 2013/2016 無法接收微軟信箱情形

微軟的 Hotmail / Outlook.com / msn.com / livemail.tw 等信箱,這幾個月在升級,從 Exchange ActiveSync 升級到 Microsoft Exchange
(我最早收到通知是英文版 2016/11/11,2016/12/22 以後收的是中文版,我抓中文版最新的畫面)

通知信

通知信

 

微軟的說明:
您可以在官方 Microsoft 支援網站存取重新連接帳戶的逐步指示:https://go.microsoft.com/fwlink/?linkid=837697

微軟的常見問題:
Windows 版 Outlook 近期問題的修正或因應措施

如果 Outlook 無法正常收信,可以手動改回使用 Exchange ActiveSync

新增帳號手動設定

新增帳號手動設定

 

選擇信箱類型

選擇信箱類型

伺服器資訊填入 eas.outlook.com

輸入伺服器

輸入伺服器

如果不是 Outlook 2013/2016 ,例如 Windows Live Mail,或是即使是 Outlook 2013/2016,但上面方法無法解決,可以透過 WebMail 登入,從選項啟用 POP3 / IMAP ,選擇其中一種方式設定收信,一般來說,建議使用 IMAP 。

支援 POP3

支援 POP3

剪貼 2017/03/12 的資訊如下:
POP
伺服器名稱: pop-mail.outlook.com
連接埠: 995
加密方法: TLS

IMAP
伺服器名稱: imap-mail.outlook.com
連接埠: 993
加密方法: TLS -> 注意:實測應為 SSL

SMTP
伺服器名稱: smtp-mail.outlook.com
連接埠: 587
加密方法: STARTTLS -> 注意:實測應為 TLS

以下為 Outlook 2013 實際設定畫面:

Outlook 2013 進階設定

Outlook 2013 進階設定


[2017/04/02 新增 Windows Live Mail 設定畫面]

如果使用 Windows Live Mail 連接 Hotmail 系列信箱,請參考下面兩個畫面的設定:

Mail Server 及認證方式

Mail Server 及認證方式

 

加密方式及 port

加密方式及 port

 

 

Categories: Office, 技術分享, 更新與回報 | 標籤: | 發表留言

[VS] Visual Studio 20 周年 – 我與 Visual Studio 的故事

大家都在回顧 Visual Studio ,我也參一腳,如果是想要看技術文的,現在可以跳出了,這是一篇回憶文。

我在
Microsoft Basic 歷史回顧
這篇有回顧了微軟的 Basic ,重複的就不多說了,就從 Visual Studio 前身說起好了。

在 1991 上大學時,學校教 Fortran ,那時用 Microsoft Fortran 5.0/5.1 ,裡面包含了 Visual Studio 最早的前身:
Microsoft Programmer’s WorkBench (PWB)

Microsoft Programmer's WorkBench (PWB)

Microsoft Programmer’s WorkBench (PWB)

來源:http://www.phatcode.net/res/175/images/masm6_01.png

PWB 內修改 Fortran 編譯參數

PWB 內修改 Fortran 編譯參數

來源:http://d.hatena.ne.jp/fortran66/20120503/1336066971

QuickHelp

QuickHelp

QuickHelp

來源:http://www.phatcode.net/res/175/images/masm6_02.png

當然,在那個年代,Quick Basic 彈性遠高於 PWB ,但這也是直譯環境跟編譯環境的差異,不能直接比較。

我還有在 BBS 貼文分享將同一支程式碼編譯成 DOS/Windows 雙用的執行檔:
http://tlcheng.twbbs.org/TLCheng/Fortran/Msf51/doswin.txt

那個年代,PWB 支援五種語言,可以從 QuickHelp 畫面看到,支援:
Microsoft C/C++ (5.0 ~ 7.0/MFC 1.0,後接 Visual C++ 1.0)
Assembly (MASM)
Microsoft BASIC Professional Development System (PDS/QBX 7.1,不能用 QB45,後接 VBDOS/VB 1.0)
Microsoft Fortran (5.0/5.1,後接 Microsoft Fortran PowerStation 1.0)
Microsoft COBOL (5.0)

所以可以看出,微軟曾經打算用 PWB 一統開發環境過,除錯時則會自動呼叫 CodeView,我是懷疑 CodeView 是最早的 DLL。

從 PWB 選單架構來看,就可以看到現在 Visual Studio 選單的雛型,彈性的編譯參數調整,也引領現代的 Visual Studio 。而 QuickHelp 就如同後來的 MSDN 線上手冊,怎麼看,都沒辦法把 PWB 跟 Visual Studio 做切割。

那時,我用 Fortran 主要是寫 DOS 程式,也寫過 Windows 程式 (QuickWin) ,在那個年代,只有 DOS 下 512kb 左右的記憶體可用,編譯成 Windows 程式,單一陣列就可以開到 8MB ,對於水利海洋計算都是大範圍面積的幫助很大。

在 PWB 下寫的基本上都是作業,1992用 Fortran 寫河工學作業算河道縱斷面水位時,就把它當成簡單電動寫,換現代的說法就是閒著蛋疼,不過那個年代沒啥娛樂,所以寫作業也能寫出樂趣來。

大三河工學作業-河道斷面水位計算

大三河工學作業-河道斷面水位計算

大三河工學作業-結束時版權畫面

大三河工學作業-結束時版權畫面

可惜當時 QuickWin 的程式畫面我都沒截,只能看網路的畫面緬懷一下。

Microsoft Fortran 5.1 QuickWin

Microsoft Fortran 5.1 QuickWin

來源: https://software.intel.com/en-us/node/535318

除此之外,我還用 PDS 7.1,PDS 7.1 自己有 QBX 介面比 PWB 好,但是若是要談到混合語言,就只能在 PWB 下,我記得我當時有三本混合語言的書,不過有一本松崗翻譯微軟手冊的書不見了,只找得到兩本。

Microsoft 混合語言程式設計

Microsoft 混合語言程式設計

 

五種熱門語言 類似用法導向

五種熱門語言 類似用法導向

所以可以看出來,當時微軟不但想要用 PWB 統一開發環境,還打算在這個開發環境下跨語言支援,跟現在 Visual Studio 設計理念很像,所以我認為 PWB 是 Visual Studio 的前身。

1992下半年後,分別到兩個副教授手下去做兼任研究助理,一邊學 AutoLISP 在 AutoCAD 自動繪圖,另外一邊主要是跟 HP BASIC 奮戰,當時用 QB45 寫了一個潮位站資料擷取通訊程式,大概是主要的成果。

兩邊副教授一邊用 AmiPro ,一邊用 Word 5.0 ,Word 5.0 那時還不是 VBA ,內建 WordBasic ,直到 1995 年國科會統一收 Word 6.0a 格式提送的計畫書,才再也沒碰過 AmiPro 。

比較詭異的是,台灣可以找到 Word 5.0 的電腦書,但是維基百科沒有 Word 5.0,該不會是因為中文化的特殊版本吧:https://en.wikipedia.org/wiki/Microsoft_Word

這篇可以找到日文版的 Word 5.0 版權畫面跟螢幕畫片:http://lsair.html.xdomain.jp/a/e/ibm-win31-screenshots.html

Google 也可以看到當時出了很多中文書:https://www.google.com.tw/#q=%22Microsoft+Word+5.0%22+%E4%B8%AD%E6%96%87%E7%89%88

但是拿來寫第一篇研討會論文的卻是用 AutoLISP + Quick Basic 寫:
徐昇多邊形網的自動化計算」,八十四年電子計算機於土木水利工程應用論文研討會論文集,中壢,第 465 – 476 頁,民國 84 年 10 月。

在 AutoCAD R12 呼叫外部QB45程式產生綠色、黃色、淺藍色三圖層

在 AutoCAD R12 呼叫外部QB45程式產生綠色、黃色、淺藍色三圖層

 

VB for Windows 發展迅速,在 VB3 以前,一統 Windows 3.1 以前的開發環境,用 C 根本是作孽,在沒有 MFC 之前,用 Fortran 或是 C 寫 Windows 程式差不了太多。

1993/02/09 微軟出了 Microsoft Fortran Powerstation 1.0 for Windows and DOS,我印象中這時的介面跟 VC 1.0 就是最早的 Visual Studio 原型,可是太久了,記不太清楚,我印象我有用過的版本應該是 1994/02/08 出的 1.0a ,當時我在 tw.bbs.comp.language.fortran 論壇回文時就有提到,以前在 google Newsgroup 那邊還搜尋到過。

PowerStation 1.0

PowerStation 1.0

來源: http://www.emsps.com/oldtools/msforv.htm

Microsoft Fotran PowerStation 1.0

Microsoft Fotran PowerStation 1.0

 

來源:http://d.hatena.ne.jp/fortran66/20120503/1336066971

這時的 Fortran 版本是最慘的,我記得除了呼叫 Process 方式可以跨語言外,其他沒有方法支援,而這時候的 PowerStation 也不支援呼叫 API ,所以沒辦法透過 API 呼叫 VC 寫的 DLL ,反而 VB3 還能呼叫 VC1 的 DLL ,VC1 則不能呼叫 VB3 的 .vbx。

1994年,GIS剛開始興盛,資策會放了一堆給 VB3 用的 API 出來,我那時下半年要執行研究計畫,到水資源統一規劃委員會 (現在水利署台北辦公室) 學當時台灣跟荷蘭一起合作的 VB3 寫的水資源調度軟體,下半年做計劃的時候自己寫。
「台灣地區水資源供需情勢分析(一)」,台大慶齡工業研究中心,台北,民國 85 年 6 月。

1995年,用 VB3 寫類神經網路程式,放在多台電腦上跑學習,才讓我順利畢業,不過程式碼都不知道到哪了,更別說畫面了。程式碼我在念博士班時還有翻出來給碩士班學弟用,不過我現在還是找不到執行畫面…

1995/05/10 出的 Microsoft Fortran PowerStation 4.0 / Visual Basic 4.0 16/32 bits / Visual C++ 4.0 正式孕育起 Visual Studio ,首先第一件事就是統一版號,當時因為 VB 已經 3.0 了,所以 PowerStation 直接從 1.0b 跳到 4.0 ,VC 則從 2.0 跳到 4.0,編譯器正式從 16 bits 跳到 32 bits。

PowerStation 4.0

PowerStation 4.0

來源: http://www.emsps.com/oldtools/msforv.htm

維基百科 Visual Studio 有提到:
Prior to Visual Studio Version 4.0, there were Visual Basic 3, Visual C++, Visual FoxPro and Visual SourceSafe as separate products.

另外在 http://www.academia.edu/7247842/Dendi_Hidayat_-_Perbedaan_Web_Form_dan_Windows_Form
提到 Visual Studio 第一版是在 1995/04 出的,而 4.0 就是第一版。

但是多方查證的結果,應該當時是叫做 Microsoft Developer Studio 4.0 ,最糗的事我自己的網頁還有截圖:

標題列為 Microsoft Developer Studio

標題列為 Microsoft Developer Studio

來源:http://tlcheng.twbbs.org/TLCheng/Fortran/MSF4/fdebug.htm

PowerStation 滿慘的,連維基百科都沒有介紹專頁,幾乎找不到它的存在。Fortran 在 1985 前是獨霸科學界,連飛出太陽系的冒險家 1/2 號,都是用 Fortran 寫的,直到 1985 後,C 才開始抬頭,沒想到現在回顧過去,連資料都找不太到。

VB4 看起來是 1995/08 出的:https://en.wikipedia.org/wiki/Visual_Basic
VC4 看起來是 1995/12/11 出的,從 VC 的歷史還能看到我先前提到關於 Fortran 的歷史,懷念阿~ https://en.wikipedia.org/wiki/Visual_C%2B%2B

從分別出版的時間看,當時也只統一了版號跟 Fortran/VC 開發環境,這時還沒有 Visual FoxPro,但這時 PowerStation 4 已經恢復了透過混合語言呼叫 VC 或是產生 DLL 給 VB4 叫用。

而在 Office 中,Excel 4.0 的 Macro / Word 5.0 的 WordBasic ,也被統一為 Visual Basic for Application ,雖然還是巨集,但是已經是 VB 的成員,當兵前把經驗傳承給學弟,當時我的碩士論文是用 Excel 讀取 VB3 算出來的資料,送進 Excel 畫圖,再自動產生 Word 表格跟插圖,節省我大量人工時間,指導教授換個參數,跑完可以自動產生表格與圖,完全不用花時間整理,因此寫了一篇:
MS Office 自動化巨集 (Excel & Word)

1996下半年去當兵,在部隊倒是有摸到 VB4 16 bits ,那時在工校受訓,到校部寫排課系統,沒寫完就分發到部隊了,聽說後來下基地的同梯又被抽去寫排課系統,對我抱怨很多~~~ 哈哈。

1997年中調司令部接工補官,開始週三下午有散步假,周四早上莒光日前收假,散步假回台北顯然是不現實的,當兵的人又死也不想待部隊,所以我就回成大找念博士班的同學,就待在同學研究室耗到天亮,這時同學開始用 PowerStation 4.0 ,我沒事就玩這個… 現在想起來也滿悲哀的,同學研究室有點像後來的網咖,上網上到爽,但我又不可能在同學電腦裝電動,所以只能拿編譯器來玩消磨時間…

當時補辦室還在用 386 兩台打公文,隔壁的參四科有一台 486 ,我就用 QB45 寫了公文排版系統給補辦室跟參四科用。之後補辦室室長買了一台私人的 Pentium ,又碰上精實案,我跟另外一個通補官就在那台奔騰上寫精實案的資料庫~

大概太閒了,利用空檔把碩士論文整理成研討會論文,本來還夢想當兵可以請公假去,結果不行:
分佈型類神經網路降雨逕流模式之研究」,八十六年電子計算機於土木水利工程應用論文研討會論文集,新竹,第 993 – 1004 頁,民國 86 年。

1997下半年另一個同學電腦有裝 VB4 ,就開始完善先前在 台灣地區水資源供需情勢分析 計畫中,寫到一半的網流程式,然後以工兵少尉的身分寫了一篇:

Network Flow Programming 計算路網中

Network Flow Programming 計算路網中

「簡易部隊移動路線之最佳化分析」,陸軍工兵科技季刊 106期(已接受),燕巢,民國 87 年 2 月。

接著又寫一篇:
工兵部隊道路爆破路線選擇之研究」,國軍電腦兵棋專輯第五輯,台北,第 73 – 89 頁,民國 87 年 6 月。

當時在投國軍電腦兵棋時,工兵季刊出到105,所以打電話去問承辦少校,承辦少校說已接受,預定 106 刊出,我就直接寫到上面那篇 (見參考文獻 1) ,等到 106 沒刊出,我又打電話去問,承辦少校說,它的中校科長嫌我軍階低,不想刊出… ㄜ… 我回他說,電腦兵棋那邊刊出後面的了,你自己看著辦吧,我也不知道要說啥,接著我就退伍了,我也不知道後面到底有沒有刊出來。

電腦兵棋算是軍方 A 級期刊,工兵季刊大概是 B 級,被 B 級嫌棄卻被 A 級接受,我想當時的承辦人臉上應該是個冏字吧~ 哈~~~

1998年退伍回到學校,先用 PowerStation 4.0 寫程式,上面那篇 PowerStation 的圖就是,然後去投研討會。
發揮水田坵塊生態保護效益之田埂高度」,八十七年度農業工程研討會論文集,台北,第 829 – 836 頁,民國 87 年 12 月。

同時開始使用 VB5 寫介面整合 Fortran ,跟痞子蔡 (蔡智恆) 做曾文防洪計畫,河道演算的 Fortran 程式就是痞子蔡寫的:
曾文水庫防洪運轉資訊系統操作手冊」,成大水利海洋研究發展文教基金會,民國 88 年 5 月。

同年指導教授建立 風雨災害實驗室/水海資料庫 ,我也開始 ASP 人生。當時,覺得有 Bill 真好,一個 Basic 用遍 DOS/Windows/Web/office ,那時的 VC 可還不能寫網頁呢~ 哼哼~

我最早寫的 asp 網頁可能是 水利 83 級留言簿

開始用啥寫 ASP 我已經不記得了,我記得後來是用系上買的 Visual Studio 的另一個成員 Visual InterDev:
https://msdn.microsoft.com/en-us/library/aa239608.aspx

Visual Studio 97(5.0) 開發環境並沒有整體用同一套,內含的 VB / FoxPro 還是有各自的 IDE 環境,新增成員還有 Visual J++ 跟 InterDev,當時的軟體標題卻是 Microsoft Developer Studio,而原先與 VC 整合好的 PowerStation 在 1997/03 卻被微軟拋棄賣給 Digital 了,對當時的我簡直是晴天霹靂~ Digital 配合 Visual Studio 分別推出 Digital Visual Fortran(DVF) 5.0/6.0…

Compaq Visual Fortran QuickWin

Compaq Visual Fortran QuickWin

 

Digital Visual Fortran 5.0

Digital Visual Fortran 5.0

來源:http://tlcheng.twbbs.org/TLCheng/Fortran/dll/make.htm

那時候管計算機室的藍元志學長就用 Visual FoxPro 5.0 寫計算機室的設備借用歸還資料庫系統。

我退伍的時候,Visual Studio 6.0(98) 就上市了,因此我在 VB5 約用一年就晉級到 VB6/InterDev6/DF6,這個年代工作量大,產出算滿多的,有興趣可到我個人的資料區去看,這邊就不一一拉畫面了。
http://tlcheng.twbbs.org/TLCheng/

1998/01,Digital 就被 Compaq 併購,推出 Compaq Visual Fortran(CVF) 6.1/6.5
2002/05,Compaq 被 HP 併購,推出 Visual Fortran 6.6 ,隨即將 Visual Fortran 賣給 Intel ,Intel 配合 Visual Studio.Net 推出 Intel Visual Fortran 7.0(IVF) …
https://software.intel.com/en-us/articles/migrating-from-compaq-visual-fortran

隨著對 VB6 越來越熟悉,終於開始寫第一篇純電腦技術的文章投稿,之前的都是水利為主阿~~~
Microsoft Visual Basic 之 Variant 變數應用」,微軟之友季訊,夏季 6 月號,第 42 ~ 49 頁,民國 90 年 6 月。

隨著社會變化,我開始朝向網頁化為主,第一個不是自己本業,為了救同學研究計畫被廠商放鴿子寫的網頁專案,透過遠端 Oracle 資料庫,整合 Surfer Automation 的 ASP 網頁:
http://tlcheng.twbbs.org/money/tide/Help/

而自己本業整合 ASP/VB6/CVF6 的則是:
曾文溪流域水庫整體防洪運轉展示決策系統建置」,中華民國資訊學會通訊,台灣,台北,第八卷,第一期,第 209 – 236 頁,民國 94 年 3 月。

在 2002/02/13 Visual Studio .NET (2002) 上市,我屬於應用程式開發人員,並沒有第一時間將 VB6 轉換到 VBNET ,只有試用而已。不過我對 Windows Help 一直保持高度熱誠,所以 VSNET 2002 我第一個正式專案卻是 HTMLHelp 2~

HTMLHelp 2

HTMLHelp 2

來源:http://tlcheng.twbbs.org/TLCheng/WinHelp/Net/help.htm

今天寫這篇忽然想到,VSNET 號稱純血 Unicode Windows ,而 VS98 則是 ANSI Windows ,當初 Office 2003 說自己是 Unicode Windows ,所以不支援 Win9x ,那為啥 .Net 2.0 以前可以支援 Win9x?該不會又是微軟的陰毛吧?

2004年我離開學校後,又看到 Mono ,天啊,看起來就是要一統開發語言,才正式的投入 Visual Studio 2003 裡。

我在 ASP 寫資料庫存取時,我習慣在 ADO 用 ODBC driver ,而 VS2002 只有 Oledb ,到了 VS2003 才開始支援 ODBC ,這也是我一開始不願踏入的原因。

剛離開學校,我接了一個資策會委外的 Web Service 元件開發工作,由於 VBNET 跟 VB6 不相容,剛好我先前讀了演算法對於加速有很多想法,所以我在 VS2003 重新開發:
http://tlcheng.twbbs.org/Model/Online/Thiessen/Thiessen.aspx

之後寫了一堆東西,包含 News 討論區 (網路論壇)、船艦氣象觀測與海象預報展示系統、等等,也寫了一篇文章投微軟:
在 ASP.NET中 動態共用原始碼」,微軟最有價值專家 (MVP) 技術專欄,台灣微軟MSDN網站,民國 93 年 11 月。

其中跟 Visual Studio 有關又比較特別的是:
南區水資源資料庫及決策支援系統 – 南區水資源分區及聯合模擬

這個是用 Intel Visual Fortran 開發的,當時因為 Visual Studio Net 開放性架構,有兩套 Fortran 支援 Fortran.Net,這兩套到 VS2015 還支援。

Lahey/Fujitsu Fortran: http://www.lahey.com/lf77/lf77.htm
Silverfrost FTN95: http://www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.aspx

但是 Intel Visual Fortran 雖然能嵌入在 Visual Studio ,卻只能呼叫 Intel 程式庫,不能呼叫 .Net framework (可呼叫 API),不過沒辦法,老闆不是我啊。

Intel Visual Fortran 7.0 for Visual Studio 2003

Intel Visual Fortran 7.0 for Visual Studio 2003

 

Intel Visual Fortran 7.0 QuickWin

Intel Visual Fortran 7.0 QuickWin

來源:http://tlcheng.twbbs.org/TLCheng/Fortran/XPTheme/index.htm

2005/03,微軟終止 Visual Basic 6.0 ,網路哀聲不斷,超過 200 位微軟 MVP 連署企圖搶救 VB6 ,微軟沒有接受。

終於,VS2005 在 2005/11/07 上市了。

VS2005 首先把 .Net 從產品名稱中拿掉,接著支援 32/64 bits 編譯,第一次微軟推出免費的 Express 版本,再分標準版、專業版,也第一次導入軟體專案管理,包含 Team Server、架構版、開發版、測試版,內建巨集功能讓開發環境自動化,內建 Windows Installer/ClickOnce 協助部署,外掛VSTO、VSTD等工具,簡直讓人眼花撩亂,然後加入虛擬裝置,可以開發 WinCE/SmartPhone 2002/2003 程式,正確來說,應該才是現在用的 Visual Studio 的奠基版。

伴隨 VS2005 的 .Net framework 2.0 也是最後一個支援 Win9x 的版本。

微軟也改善了 VB6 遷移 VBNET 工具,希望將 VB6 的大量使用者遷移到 VB2005,台灣也辦了不少研討會,包含:
2006 Visual Basic 2005 開發者大會專刊」,台灣微軟,台北,第 12 – 15 頁,民國 95 年 9 月。

在 VS2005 到 VS2008 上市那幾年,我主要在做:
海洋氣象數位服務專用平台之建置」,2008天氣分析與預報研討會,台灣,台北,第 493 – 500 頁,民國 97 年 9 月。

接著,VS2008 於 2007/11/19 上市。VS2008 主要考量未來大螢幕趨勢,推出新的視窗介面 WPF ,強大的 LINQ,因應 Vista 新的 Windows 資料安全架構進行加強與更新,而我為了前向相容到 Win2k ,到 VS2015 的年代,我還在用 .Net framework 2.0 ,後面的 VS2008/2010/2012/2013/2015 對我來說,只是更換編譯介面編譯 .Net framework 程式碼。

而 VS2008 起移除 Help Compiler 功能,整個微軟的開發環境除了舊版可編譯輔助說明外,完全不再提供線上手冊編譯環境,要編譯線上手冊就要使用協力廠商套件。

MSDN for Visual Studio 2008 SP1 也是最後一個單機方便好用的線上手冊,大大降低大家開發時,查詢線上手冊所需時間。

之後我到現在的公司上班,作品屬於公司財產,不適合隨意發布。

VS2010 於 2010/04/12 上市,這是最後一個支援 WinXP 版本,加入新的 F#、Silverlight 及 Windows Phone 支援,相對的,把 WinCE / SmartPhone 支援全部拿掉,而這個版本線上手冊大改,簡直難用到爆,爆雷是一個接一個,後來得靠 MVP 開發的 H3Viewer,而資料庫從這個版本起,內建支援 SQL Server Compact,我印象中從這個版本起,Visio 畫的 UML 之類的圖就不能匯入,改由 Visual Studio 自己的介面繪製。

VS2012 於 2012/09/12 上市,這個版本起,加入新的 Windows 8 /Phone 動態磚支援,免費的 Visual Studio Express 不再依照語言分,而是改功能分。而這個版本又拿掉 Windows Installer 支援,微軟記取 VS2010 線上手冊太爛的事進行更新,但是新版的線上手冊改善有限,網友們還是在呼喚 MSDN for Visual Studio 2008。

VS2013 於 2013/10/17 上市,VS2013 強大的增益集功能補充了部分缺憾,比如說 Windows Installer 的回歸,但也拿掉 SQL Server Compact 支援,看起來 SQLCE 似乎是被拋棄了。

VS2015 於 2015/07/20 上市,改善網友分享增益集可能產生的效能問題,但是我的還是會超慢啊~~~ 新版的預設程式碼編輯環境改掉 VS2013 以前白底為主,改用黑底為主。之後原先命名為 Express 分散的免費版,改為整合的 Community 免費版,包含完整的專業版功能。

Visual Studio Code (VSCode) 於 2016/04/14 上市,完全免費不具有編譯功能,純粹是編輯器,並提供跨平台編輯器,亦提供增益集,可供使用者外掛自訂功能。
 https://en.wikipedia.org/wiki/Visual_Studio_Code

從 Digital Visual Fortran 5.0 圖片我發現標題列還是叫 Microsoft Developer Studio ,其實跟 PowerStation 4.0 標題列一樣,我又上網 Google 了 VC++ 圖片:

Visual C++ 4.0

Visual C++ 4.0

來源:http://www.tarma.com/articles/1996sep.htm

Visual C++ 5.0

Visual C++ 5.0

來源:http://courses.cs.vt.edu/~cs1044/Visual5/build.html

標題都是 Microsoft Developer Studio 阿~~~ 而 Visual C++ 6.0 的標題則變為 Microsoft Visual C++ ,所以 Visual Studio 今年不應該算 20 歲吧?

若從 PWB 開始算,PWB 我一開始用就是 2.x 版,我不確定第一版本在哪版出現,我是知道從 Microsoft C 5.0 就有,但之前就不清楚,沒記錯的話是 1987 出 Microsoft C 5.0,1988 出 Microsoft C 5.1 ,從 PWB 開始算可能至少 30年。

另一種算法是從第一套 Visual 系列的 Visual Basic 1.0 開始算,1991/05 VB1.0 上市,所以可以算做 26 年。

還有一種算法是從 1993/02 的 Visual C++ 1.0 開始算,從 VC 開始,正式進入 Windows 版本的整合開發環境,包含 PowerStation 1.0 ,這樣就是算做 24 年。

再一種算法是從 Microsoft Developer Studio 這個標題算,那就是從 1995/12/11 的 Visual C++ 4.0 開始算,算做 22 年,從這個算法也是有道理的,因為 Visual Studio 那個無限大的 Logo 就是從這個版本開始的,上面的螢幕擷圖都可以看到。

Microsoft Developer Studio 4.0 安裝畫面

Microsoft Developer Studio 4.0 安裝畫面

來源:http://bytepointer.com/msvc/index.htm

最後可能是因為這個安裝畫面,所以 Visual Studio 從 1997 起算,算做 20 年:

Visual Studio 97 Install

Visual Studio 97 Install

來源:http://www.ironshay.com/?tag=/visual+studio

過去 30 年來,微軟開發工具一直陪伴我,將近我 2/3 的人生。Visual Studio 2017 ,歡迎你走入我未來的生命。

Categories: 電腦和網際網路, 嗜好 | 標籤: | 1 則迴響

[VSCode] 設定編輯下 Tab 鍵的空白字元數

VSCode 內建 Tab 為 4 個半形空白,與 Visual Studio 各版本一致。但我個人偏好 3 個空白。

官方文件說是設定 tabSize。

User and Workspace Settings https://code.visualstudio.com/Docs/customization/userandworkspace

設定方式如下圖。

設定 tabSize

設定 tabSize

但是以這種方式設定,在預設值下,第一個 Tab 是第 3 格,第二個 Tab 是第 4 格,第三個 Tab 是第 8 格,根本沒啥用。

事實上可以不管上面的官方文件,直接點選狀態列的 [空格]

選擇空格

選擇空格

選擇 [使用 Tab 進行縮排]

使用 Tab 進行縮排

使用 Tab 進行縮排

再選擇欲縮排的格數,我選擇 3 。

選擇欲縮排的格數

選擇欲縮排的格數

之後就是第一個 Tab 是第 3 格,第二個 Tab 是第 6 格,第三個 Tab 是第 9 格。

終於可以好好的一起玩耍了。

Categories: 工作點滴, 技術分享 | 標籤: | 1 則迴響

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: