【吐槽】VS2012的安裝項目只能用InstallShield Limited Edition


  以前版本的Visual Stuido中安裝項目都可以使用微軟自家的Visual Studio Installer,但是到了VS2012這一切都變了,只能用InstallShield Limited Edition。為這個鬼東西折騰了幾天,把經驗分享出來,留個腳印,以免同樣上當。

1.VS2012及更高版本的安裝項目

 首先,從VS2012開始,以前的Visual Studio Installer不復存在,打開VS2012,新建項目中的“安裝和部署”項目模版,多了一個“啟用InstallShield Limited Edition”,雙擊可以得到這個東東的下載頁面,直接用郵箱進行注冊后,會發下載地址和注冊碼到郵箱。為了避免麻煩,本文后面有下載地址,並提供了一組注冊碼。

其次,InstallShield Limited Edition這個東東大家如果做過項目打包,應該都知道,是大名鼎鼎的項目打包工具,非常龐大,功能也強大(聽說而已,我也不太會)。VS2012已經不支持Visual Studio Installer了,甚至以前的項目都打不開,只能通過轉換到新的安裝模版。心里不禁就想到,為啥自己的東西不用,還搞一個別人的,是個限制版,功能更全面就要升級購買,這是為什么?

最后,經過好多努力,到處找資料,看有沒有Visual Studio Installer能不能在VS2012中使用,或者InstallShield Limited Edition的使用方法,可惜最后只在百度找到了幾篇大概的入門圖文教程,用處不大。在微軟MSDN的網站,有如下的回復“ 

Here is everything I know about the InstallShield software included in VS2010. Note that this is NOT Microsoft software, so they don't support it, they don't update it, they don't upgrade it, etc. If you have questions about InstallShield, the best place to start is the InstallShield 2010 Limited Edition Evaluator Guide。。。。”

意思大概就是“InstallShield 軟件從VS2010版本就開始包括在VS中,它不是微軟的軟件,所以VS不提供支持和更新,如果對InstallShield有疑問,可以到官方網站去。。。”

我次奧,這不是明顯的坑爹嗎,不是你的產品,不提供支持,你還替代自己的東東,拿來用。。

 2.VS2012中InstallShield Limited Edition的使用及問題

其實VS2010也可以使用InstallShield Limited Edition,不過VS2010同時還能使用Visual Stuido Installer。以前這個問題估計很多人沒注意。導致VS2012開始,只能使用InstallShield Limited Edition的時候,有些人措手不及,包括我自己。

2.1 InstallShield Limited Edition的常規安裝沒問題

InstallShield Limited Edition的常規安裝項目,其實也很簡單,簡單的設置一下就可以了,我在最后提供一篇網上下載的PDF圖文教程,一般安裝那上面的順序,就沒問題。常規安裝項目,是指簡單的復制.NET項目的生成文件到系統目錄,搞搞快捷方式,設置一些安裝界面和軟件信息等。特殊一點的安裝當然就是后面所說的有關com組件和ActiveX控件的安裝。

2.2 ActiveX控件的安裝

問題起源於VS2010的一個ActiveX控件安裝項目,到VS2012后,使用InstallShield Limited Edition安裝基本的使用過程,都會出現一個Q109435: Error -6109 Internal build error.的錯誤 。經過在InstallShield官網的一番折騰,找到了可能原因之一:由於開發機可能已經注冊或安裝過次控件,導致在生成時不能注冊和注銷成功。后來手動打開regedit進行查找,把該控件的注冊表條目都刪除,果然生成成功了。狂喜了好一陣,沒想到,這還只是開始;

生成成功后,我想當然,安裝肯定沒問題,結果,又來了:錯誤:-1605 此操作只對當前安裝產品有效 。又搞了一陣,無果,最終決定放棄。采用installShield2010的破解版來試試,installShield2010專業版功能當然更強大一點,搞了一晚上,安裝包是沒錯誤,但在安裝的時候還是com組件注冊錯誤,我崩潰了,最終采用了備用方案,徹底放棄“InstallShield Limited Edition” 

2.3 VS2012項目打包不使用InstallShield 的簡單方法

為了解決VS2012開發打包ActiveX控件的問題,只能采用這個備用方案了,肯定可以解決問題,只不過不是最好的方法,好在能解決。

方法很簡單“VS2012開發,VS2010的Visual Studio Installer打包,1個項目2個解決方案文件即可”

ActiveX控件的注冊用Visual Stuido Installer是很容易解決和制作的(已經成功過)。因此VS2012開發后,使用VS2010打包是完全沒問題,也沒沖突的。但是現在.NET 4.5出來了,用.net 4.5制作的,能不能做,還有點不太確定,我想想問題應該不大,因為ActiveX注冊和注冊表有關,和.net版本關系貌似不大。

其實使用專業版本的項目打包工具,肯定也能解決,只不過小東西,花那么多時間去重新搞,沒必要。 

3.軟件、教程與注冊碼下載

  VS2012中的InstallShield Limited Edition下載及注冊碼,由於快盤無法分享,且時間已久,源文件已經丟失。

  需要的朋友,還是去官方網站注冊,然后獲取最新版本,然后進行注冊獲取注冊碼。有免費版可以用,雖然麻煩點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM