之前版本的Visual Stuido中安裝項目均可以使用微軟自家的Visual Studio Installer,可是到了VS2012這一切都變了,只能用InstallShield Limited Edition。爲這個鬼東西折騰了幾天,把經驗分享出來,留個腳印,以避免一樣上當。web
首先,從VS2012開始,之前的Visual Studio Installer不復存在,打開VS2012,新建項目中的「安裝和部署」項目模版,多了一個「啓用InstallShield Limited Edition」,雙擊能夠獲得這個東東的下載頁面,直接用郵箱進行註冊後,會發下載地址和註冊碼到郵箱。爲了不麻煩,本文後面有下載地址,並提供了一組註冊碼。ide
其次,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。。。。」ui
意思大概就是「InstallShield 軟件從VS2010版本就開始包括在VS中,它不是微軟的軟件,因此VS不提供支持和更新,若是對InstallShield有疑問,能夠到官方網站去。。。」this
我次奧,這不是明顯的坑爹嗎,不是你的產品,不提供支持,你還替代本身的東東,拿來用。。lua
其實VS2010也可使用InstallShield Limited Edition,不過VS2010同時還能使用Visual Stuido Installer。之前這個問題估計不少人沒注意。致使VS2012開始,只能使用InstallShield Limited Edition的時候,有些人措手不及,包括我本身。spa
InstallShield Limited Edition的常規安裝項目,其實也很簡單,簡單的設置一下就能夠了,我在最後提供一篇網上下載的PDF圖文教程,通常安裝那上面的順序,就沒問題。常規安裝項目,是指簡單的複製.NET項目的生成文件到系統目錄,搞搞快捷方式,設置一些安裝界面和軟件信息等。特殊一點的安裝固然就是後面所說的有關com組件和ActiveX控件的安裝。.net
問題起源於VS2010的一個ActiveX控件安裝項目,到VS2012後,使用InstallShield Limited Edition安裝基本的使用過程,都會出現一個「Q109435: Error -6109 Internal build error.」的錯誤 。通過在InstallShield官網的一番折騰,找到了可能緣由之一:因爲開發機可能已經註冊或安裝過次控件,致使在生成時不能註冊和註銷成功。後來手動打開regedit進行查找,把該控件的註冊表條目都刪除,果真生成成功了。狂喜了好一陣,沒想到,這還只是開始;orm
生成成功後,我想固然,安裝確定沒問題,結果,又來了:錯誤:-1605 此操做只對當前安裝產品有效 。又搞了一陣,無果,最終決定放棄。採用installShield2010的破解版來試試,installShield2010專業版功能固然更強大一點,搞了一夜,安裝包是沒錯誤,但在安裝的時候仍是com組件註冊錯誤,我崩潰了,最終採用了備用方案,完全放棄「InstallShield Limited Edition」
爲了解決VS2012開發打包ActiveX控件的問題,只能採用這個備用方案了,確定能夠解決問題,只不過不是最好的方法,好在能解決。
方法很簡單「VS2012開發,VS2010的Visual Studio Installer打包,1個項目2個解決方案文件便可」
ActiveX控件的註冊用Visual Stuido Installer是很容易解決和製做的(已經成功過)。所以VS2012開發後,使用VS2010打包是徹底沒問題,也沒衝突的。可是如今.NET 4.5出來了,用.net 4.5製做的,能不能作,還有點不太肯定,我想一想問題應該不大,由於ActiveX註冊和註冊表有關,和.net版本關係貌似不大。
其實使用專業版本的項目打包工具,確定也能解決,只不太小東西,花那麼多時間去從新搞,不必。
VS2012中的InstallShield Limited Edition下載及註冊碼,因爲快盤沒法分享,且時間已久,源文件已經丟失。
須要的朋友,仍是去官方網站註冊,而後獲取最新版本,而後進行註冊獲取註冊碼。有免費版能夠用,雖然麻煩點。