一次在VS 編的一個程序上無法使用MSHFLXGDOCX控件(具體症狀是當要使用該控件時出現程序崩潰)開始以為MSHFLXGDOCX控件沒有注冊使用regsvr進行注冊但是注冊成功後依然無法使用於是上網搜索資料大致知道了原因原來是微軟的OCX控件大多需要許可證有了分發許可證的控件才可以正常運行
按照網上的說法是mshflxgddep 和mshflxgdsrg 都編譯到windows\system目錄下(這兩個文件可以在安裝過VC的Windows系統下找到)然後還要導入一個注冊表項目
[HKEY_CLASSES_ROOT\Licenses\FDFdBFAACFB]
@=gcfjdjecpchcncdjpdejijgcrdoijjfcieod
當時我不知道如何導入一個注冊表項目就采用一個苯辦法安裝VC(只要安裝了VC 都能使用)現在我知道了就是可以用該控件的機子的注冊表的HKEY_CLASSES_ROOT\Licenses項導出為一個reg文件然後將其拷貝到要用控件的機子上進行授權(具體是雙擊該reg文件將其加入到注冊表)這樣估計就能用了我甚至懷疑將mshflxgddep 和mshflxgdsrg 都編譯到windows\system目錄下這一步是否有作用照我的設想首先是使用regsvr進行注冊然後使用reg文件將其加入到注冊表不過我沒有試過有興趣的朋友可以試一下
看來使用了OCX控件的程序在別的電腦上不能運行如果既不是缺ocx文件也不是因為控件沒有注冊那麼就有可能是缺少許可證引起的可以用類似的手法解決
From:http://tw.wingwit.com/Article/program/ASP/201311/21678.html