- 元件一定要經過簽署,而且這與封裝簽署是兩回事。
- 如果有被依賴的元件一同部署,不能放到系統目錄。
- 封裝資訊指定部署範圍為「使用者」。
- [.NET based ActiveX] 不能在封裝內的批次檔呼叫 RegAsm 註冊,要把寫入的所有機碼整理成一個檔案,由批次檔的命令去匯入。
- [.NET based ActiveX, Optional] 要請使用者事先加入「信任的網站」,或對「網際網路」安全性區域修改以下兩項:「允許不提示就執行從未使用過的 ActiveX 控制項」為「啟用」、「僅允許認可的網域使用 ActiveX 而不提示」為「停用」。
- [Optional] 若能在事前讓簽署元件的憑證位於「受信任的發行者」存放區,且上層憑證皆位於「中繼憑證授權單位」或「受信任的根憑證授權單位」,只要瀏覽器視該網站屬於網際網路(不需加入信任的網站),且安全性設定保持在預設值,元件就能不經提示直接下載安裝。
[2013/08/09 補充]
以上第五、六點要多做的事,其實源自於第四點整理的機碼不足。後來找到一個簡單的方法:
- 同上
- 同上
- 同上
- RegAsm /regfile:a.reg 將元件的註冊指令先匯出
- 修改 a.reg 的內容,指向 HKCR 的改成 HKCU
- RegAsm import a.reg
[2014/10/22 補充]
在 Windows Server 2012 摸索的經驗:
- 在伺服器上的瀏覽器限制較嚴格,如果能將網站列入「受信任」區域會好很多。
- 預設的 Administrator 首次開啟有 ActiveX 的網頁就是不會提示下載,當然也真的沒有下載。必須另外新增使用者,事後要不要將此人加入管理者群組都可以,反正後續的提示下載安裝 ActiveX 都正常了。
沒有留言:
張貼留言