我正在爲IE7 +編寫基於.NET 4.0的ActiveX控件。我必須用鑰匙閱讀器管理一個界面。我跟着一些關於「如何做」的精彩教程和文章,目前運行良好。部署現有ActiveX控件的新版本
當我想要部署其他版本的控件時,我的問題就開始了。
我正在使用VS2010與安裝部署項目和cabarc的.CAB。 1.0.0.0版本進展順利。目前我想獲得1.0.2.0版本的工作,並且它的工作很好,但IE總是提示安裝。一次又一次。
我做了什麼:
1:改變了AssemblyInfoVersion.cs到版本1.0.2.0
2:改變根據版本的.inf文件到1.0.2.0
3:改變了。 MSI版本1.0.2
我改變了OBJECT標籤在HTML頁面#版本= 1,0,2,0
到目前爲止,一切正常。它已安裝!我可以在「卸載程序」下看到它,該控件的版本是1,0,2!太棒了,但IE仍然希望我每次打開頁面時都要下載並安裝它。
我看到了用Excel連接螺紋:How to get COM Server for Excel written in VB.NET installed and registered in Automation Servers list?
而且我得到了有用的信息有關,我應該在註冊表中更改的東西。我做了一些搜索那裏,我在富爾德我的classid: HKLM \ SOFTWARE \ Wow6432Node \類\ CLSID {GUID}
我這裏有以下子項: InstalledVersion 實現的類別 InprocServer32的 PROGID
我很高興,因爲我看到,在InstalledVersion部分,版本仍然是1,0,1,0。我將其更改爲1,0,2,0 ...並沒有奏效。我通過註冊表,現在無處不在,InstalledVersion是1,0,2,0。 .dll版本是1,0,2,0。已安裝的控件的版本是1,0,2。在InprocServer32下我有全部三個1,0,0,0; 1,0,1,0; 1,0,2,0版本。當然,在HTML代碼中,版本也是1,0,2,0。
(我的機器是64位的Win7,IE9)在此
莫非任何人的幫助,我錯過了什麼?
整個場景的其他問題:在第一次安裝版本後,我的開發機器重啓時沒有任何問題。你有什麼想法什麼樣的設置可以使這種行爲?
UPDATE:
的問題就迎刃而解了。我有點盲目,或者因爲這個而有點累。 但問題是,5月重要的是,未來:
首先關於這一問題的概述: 後的新版本部署(在客戶端安裝好)的IE總是propting用於安裝的版本。
問題來源在註冊表中。您應該在InstalledVersion(默認)註冊表項中擁有適當的版本號。
我在這裏有一個非常特殊的情況(並且我不知道原因),但是我在SubKey InstalledVersion下有兩個條目(Default)。第一個是空的,第二個包含了價值。我無法刪除第一個,但只能刪除第二個。我改變了第一個(默認)一切工作後發現!
您有可能創建一個名稱爲「(Default)」的regvalue,而不是設置默認reg值(然後給它一個虛擬名稱「(Default)」? http://msdn.microsoft.com/en-us/library/xkfz6802(v=VS.80).aspx – dkackman
感謝您的評論!是的,它也是真的! –