星期二, 10月 16, 2012
星期二, 10月 09, 2012
星期四, 9月 06, 2012
IE 無法安裝附加元件的解決方法
- 安全性->ActiveX「不」篩選。
- 網際網路選項->進階->安全性->「不」啟用記憶體保護以協助避免網路攻擊。
- 執行 iexplore -extoff 或在網址列輸入 about:NoAdd-ons,進入「關閉所有附加元件」的狀態,再到管理附加元件->顯示所有附加元件,一一停用。
- 關閉所有瀏覽器再開啟,應該就可以安裝附加元件。
- 如果是 Windows 7,還有一個「群組原則設定」必須考慮,可參考 http://www.sevenforums.com/system-security/145610-cannot-install-active-x-control.html 其中 jav 的回覆。
- 漏了前提假設 :附加元件是經「受信任憑證中心」所發憑證的簽署。如果不是這樣,多半調低安全性即可解決。
- 恢復瀏覽器所有的預設值也許有幫助。
- 如果是 Windows 7,又將「使用者帳戶設定」拉到最低,也會因為無法提示造成問題,只要恢復使用者帳戶設定回預設值即可。
星期三, 7月 25, 2012
.NET ActiveX 元件的版本控制
一般 ActiveX 標籤若有附加版本資訊,就有自動下載更新的機制。但依賴 .NET 的 ActiveX 元件,必須額外寫入以下機碼作為比較基礎:
[32 bits OS] HKEY_CLASSES_ROOT\CLSID\{...}\InstalledVersion
[64 bits OS] HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{...}\InstalledVersion
微軟經常沒把事情做完呀!
補充一下:透過 REG ADD 寫入上述機碼時,不必判斷作業系統是哪一種,一律當作是 32 bits 來寫就是了,64 bits 的寫入位置會自動調整。
[32 bits OS] HKEY_CLASSES_ROOT\CLSID\{...}\InstalledVersion
[64 bits OS] HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{...}\InstalledVersion
微軟經常沒把事情做完呀!
補充一下:透過 REG ADD 寫入上述機碼時,不必判斷作業系統是哪一種,一律當作是 32 bits 來寫就是了,64 bits 的寫入位置會自動調整。
星期五, 7月 20, 2012
可攜視窗作業系統
以往總想用 USB 接一個可 Windows 開機的硬碟,一直沒試成功。近來需要 Windows 64 位元的測試環境,但本機是 32 位元,VirtualBox 上的 Guest 一直有問題,只好試著先裝個可攜的 64 位元 Linux,再加上 VirtualBox 和 Windows 64 位元 Guest,有點麻煩,但可以用。
重點是 Linux Live CD 不要直接放在外接硬碟上,而是要另外放在別的 USB Disk(小容量,8G 就夠了),開機後先將 Linux 裝在大容量的外接硬碟上,再從大硬碟開 Linux,裝 VirtualBox。
重點是 Linux Live CD 不要直接放在外接硬碟上,而是要另外放在別的 USB Disk(小容量,8G 就夠了),開機後先將 Linux 裝在大容量的外接硬碟上,再從大硬碟開 Linux,裝 VirtualBox。
星期五, 6月 08, 2012
以強式名稱簽署第三方組件
專案要用到第三方開放原始碼的組件,而且希望簽署產出,所以被引用的組件需要符合強式名稱,但是沒有,怎麼辦?若有完整的原始碼當然容易,但也許沒有(或不想大動別人的東西)的時候,還是有方法的。先準備以下內容:
- 安裝 Windows SDK
- 簽署用的 CodeKey.pfx
- 要開刀的 WeakName.dll
- 反組譯組件,指令為 ildasm.exe /all /out=WeakName.il WeakName.dll,除了正常輸出之外,還附帶 WeakName.res。
- 把金鑰拆出,指令為 sn.exe -p CodeKey.pfx CodeKey.snk。
- 重組指令為 ilasm.exe /dll /resource=WeakName.res /key=CodeKey.snk WeakName.il,產出結果就是符合強式名稱的組件。
- 確認用的指令為 sn.exe -T WeakName.dll。
- 強式名稱工具 (sn.exe) 可以協助您以強式名稱簽署組件,提供了金鑰管理、簽章產生和簽章驗證的選項。
- 簽署工具 (signtool.exe) 能夠數位簽署檔案、驗證檔案中的簽署或為檔案加上時間戳記。
- signtool.exe sign /f CodeKey.pfx /p secret /t http://timestamp.verisign.com/scripts/timstamp.dll /v WeakName.dll
訂閱:
文章 (Atom)