[OWC] 關於 8 月份安全更新中的 11.0.8304.0

這是 8 月份安全更新,理所當然是 8 月份就發出去了,但是因為這個問題拖很久,昨天才接到電話大概是不改了,目前還沒接到結案 eMail ,不過應該沒太大變化了,就先寫了。
先說重點:
OWC 11 分成 11.x.x.x 與 12.x.x.x 兩種版號,雖然都叫 OWC 11 ,但為了方便區別,文中暫稱為  OWC11 / OWC12 。
OWC11 可能會發生資料防止執行的問題,但是 OWC12 不會有此問題,但 OWC12 會在 X 軸為時間時,Y 軸自動座標錯誤的情形。不論 OWC11 還是 OWC12 ,最後都由 Office Team 來處理,所以確認是不會再改,頂多做安全性更新。
OWC12 的問題見前文:OWC 11 v4 與未來
由於我這次是電話啟動問題,所以沒有完整的問題說明,下面概要的描述一番:

八月中的安全性更新包含了 OWC11 跟 VS2008 SP1 ATL 安全性更新,更新完後,原先的測試專案就不能跑。說實在的,我不知道問題發生在哪,所以就先把 VS2008 SP1 ATL 這個更新移除,想要把 OWC11 移除時,發覺此更新是不可移除的,所以就打電話問 CSS ,最後 CSS 要我把更新裝回去,發個測試專案給 CSS :
前提:
八月中的安全性更新會更新到 OWC11 的 COM 資訊,所以原先的專案會不能執行,必須將 OWC11 從專案中移除參照,再加回參照,讓專案參照到新的 COM 。
重現步驟:
在 OWC11 完成重新參照後:
1. 首先開啟空白專案,從工具列上拉入一個 ChartSpace ,會自動命名為 AxChartSpace1 ,如 fig01.png

2. 貼入測試程式碼,詳見原始碼 Form_Load 內之片段,執行,如 fig02.png ,但還在 InitForm 就發生錯誤:

3. 關閉 Form1 再重新從專案總管點兩下打開,畫面發生錯誤,工具列上的 OWC 控制項也消失了,如 fig03.png


由於此問題 CSS 那邊不能重現,所以要求我降版到 11.0.8166.0 測,降版的方式是手動移除註冊,將舊版覆蓋,再手動註冊 COM 元件。
但對我來說問題依舊,所以 CSS 要求我裝 MPSReport 將報告回傳,再裝 Debugger ,將記憶體 Dump 回傳,由於沒收集到有用資訊,還用 Live Meeting 連到我電腦,來產生相關資訊再重新上傳,甚至還開新的 Administrators 群組帳號,測測看是不是我的電腦問題,然後又用 ProcessMonitor 蒐集執行時期的 Process 記錄,看是不是互相干擾,又安裝一套 TTTracer 來收集載入的元件。
經過美國工程師判定,應該是 DEP 問題,建議我關閉 BIOS 或作業系統的這個功能,然後就可以跑了:
這時美國那邊說 OWC11 可能會碰上 DEP 問題,建議我升級到 OWC12 ,但是 OWC12 又有時間軸造成 Y 軸自動座標錯亂問題,例如:
所以又去樵樵看,OWC12 會不會修復此問題,此外,OWC11 崁入在 IE8 跑又正常,只有在 .Net Framework WinForm 內不正常。
最後來了一封算是定稿的通知信:

From: XXXXXX[mailto:XXXX@microsoft.com]
Sent: Friday, September 25, 2009 3:06 PM
To:
鄭子璉
Subject:
微軟回覆您的問題(SRT090812843904/VB2008/Could not open project while patching KB973675 and KB947319)

 

鄭先生您好,

 

在與產品組的同事確認後, 目前已確認這2個問題並不會進行修復。因為OWC11將會是最後一個版本的元件(OWC11分成11.012.0, 但名稱皆為owc11) OWC後續將會被Reporting Excel Service所取代。這是產品未來的規畫方向。

 

回歸到您的問題,DEP的問題因為是硬體(CPU)及作業系統配合,因此您的問題可能與硬體有關,在worldwide, 這個問題發生的機率非常低也不容易troubleshooting. 因此就您的問題產品組提出的替代方案如下:

 

開發環境:

您在開發階段(Design Time)會出現記憶體存取違規的錯誤,建議您透過以下方式關閉DEP功能:

1.    關閉BIOS/CPUDEP

 

The no-execute page-protection (NX) processor feature as defined by AMD.

The Execute Disable Bit (XD) feature as defined by Intel.

 

煩請您將NXND的選項設為disable

 

2.    關閉OSDEP功能:

 

a). Click Start, All Programs, Accessories, right click on “Command Prompt", and click “Run as administrator".

b). If asked for permission to run Windows Command Processor, click on Allow.

c). At the command prompt, type in “bcdedit.exe /set {current} nx AlwaysOff" (without the quotes). You should receive a message saying “Operation Completed Successfully".

d). Restart the computer.

 

 

執行環境:

 

您的應用程式在執行階段中會出現無法取得 ‘AxChartSpace’ 控制項的視窗控制代碼。不支援 Windowless ActiveX 控制項錯誤,您可以在建置後事件, 加入以下命令:

call $(DevEnvDir)..toolsvsvars32.bat
editbin.exe /NXCOMPAT:NO $(TargetPath)

 

2行指令會將編譯出來的執行檔或dllPE header設定為disable DEP

 

以上是我們對此問題最後所提供的替代方案,若有不清楚的地方,煩請您來信或來電與我連絡。

 

Best regards,

 

XXXXX


我又補了點想法回過去:

你好:
Reporting Service 不是還是在用 OWC 畫圖嗎?這部分怪怪的~
關 DEP 你提了兩個,BIOS / OS ,BIOS 比較輕鬆修改,OS 怕改完忘了…
因為重開機要等電腦沒東西在跑,所以還沒試過。
正確來說,不只開發階段,我們測過 VBNET 的 WinForm 執行時也會錯,只是開發時也錯,所以可能要說成部分執行環境下。
但是在 IE8 崁入 OWC 來畫圖又正常,所以也不是執行階段就一定有問題。
OWC 11 新版造成 VS2008 要重新參照,理論上 .Net 自動產生封裝遞送的 dll 就要重新產生 (AxInterop.OWC11.dll),而我們上次測降版時,並沒要求 VS2008 要重新參照 OWC11 ,會不會這個自動產生的 dll 發生問題?因為 IE8 直接透過 COM崁入可正常跑,但是 VB2008 WinForm 是透過兩層才能存取 OWC 。
我查過
C:WindowsassemblyMicrosoft.Office.Interop.Owc11 是 2009/8/12 上午 09:11:35 產生,也就是八月中安全性更新後產生,之後我們降版到 8166 後,他還是維持這個日期。
如果有結案壓力的話,不妨先結案,因為這個應該也是會這樣一直擺下去,暫時沒定論吧,要完整測的話,我想可能還要裝 VB6 測,若是 VB6 的 WinForm 沒問題,那應該是比較偏向 VSNET 這邊的問題才對。

昨天傍晚接到電話,大體上是說 OWC11 / OWC12 確認是都不改了,不過 Reporting Service 則微軟有買另一個元件,等確認後會再 eMail 通知我。
其他備註:

由於卡很久了,所以今天早上我就用 Messenger 問德瑞克,確認的確是有買一套元件下來,但僅限於 SQL Server Reporting Service 使用,相關資訊可參見:http://msdn.microsoft.com/zh-tw/library/aa337281.aspx
有了關鍵字後,我就去註冊資訊搜尋,有找到 DundasWinChart.dll 跟 DundasWebChart.dll ,在 .Net 參照可確認,WinChart 是 .Net DLL ,但 WebChart 不論是 .Net 或 COM 都會失敗,考慮到 IE 能崁入,應該還是 COM DLL ,可能只是僅有執行權限,沒有設計權限,所以不能在 .Net COM 參照使用。沒關係,我想先玩玩 WinChart ,結果一拖拉到畫面上,也掛,可見權限保護住了,只能 SSRS 使用,殘念…
Categories: 更新與回報 | 發表留言

文章導覽

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

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

%d 位部落客按了讚: