Visual Studio安裝項目中將使用者選擇的安裝路徑寫入註冊表的方法

來源:互聯網
上載者:User

在你的工程名上右擊 -> View ->Registry(視圖 -> 註冊表)
在你需要寫註冊表的主鍵下,例如我註冊firefox外掛程式的例子是:

(1)右擊HKEY_CURRENT_USER -> 建立 -> 鍵  :Software

(2)右擊Software -> 建立 -> 鍵:MozillaPlugins

(3)右擊MozillaPlugins  -> 建立 -> 鍵  :@abc/def

(4)右擊@abc/def -> 建立 -> 字串值:Path,值設定為:[TARGETDIR]<你程式的名字>.dll

[TARGETDIR]即為安裝路徑,安裝後安裝路勁資訊就被寫到註冊表了!

操作結果如:

下面內容為某網頁的總結,見2樓回帖,挺有用的,轉過來:http://bbs.csdn.net/topics/280062282

一.
1. 在現有項目的解決方案中添加新的項目: 右擊"解決方案",選擇"添加"--"建立項目", 在"添加新項目"的選擇視窗中, "項目類型"選"其他項目類型"--"安裝和部署","模板"選"安裝項目",給新項目指定名稱,位置;
2. 在新添加的安裝項目上右擊, 選擇"視圖"--"檔案系統", 右擊"目標電腦上的檔案系統"作側的"應用程式檔案夾", 選擇"添加檔案"或者"添加項目輸出",將你要安裝的檔案添加到該位置;
3. 初始的安裝位置: 在上面的"檔案系統"介面, 左擊"應用程式檔案夾", 在"屬性"欄中找到"DefaultLocation", 預設的屬性值是: [ProgramFilesFolder][Manufacturer]\[ProductName], 這就是使用者安裝的預設位置, 如果不是這樣, 修改成這樣. 
4. 另外, 在"解決方案管理器"中, 點擊你添加的安裝項目, 在"屬性"編輯欄中, 在[Manufacturer]中填入你公司的名字或者你自己希望的文字, 在[ProductName]填入你為要被安裝的項目命名的名字.
5. 先在"解決方案管理器"中"產生"你的項目, 然後"產生"你的安裝項目
6. 在"解決方案管理器"中,右擊你的安裝項目, 選擇"安裝", 便可在你的開發機上進行安裝了, 在你的安裝項目的路徑下的bin下有兩個檔案夾: debug 和 Release, 
7. 在解決方案管理器中,右擊你的安裝項目, 選擇"屬性", 如果你的項目屬性裡選擇的是 "配置" 是 "debug", 則你產生的安裝檔案在 debug 裡面, 如果選擇的"配置"是 "Release", 則產生的安裝檔案在 Release 裡面. 當然你也可以修改你的位置可檔案名稱, 還可以對你的安裝檔案進行其它的設定.

二.
在解決方案管理器中, 右擊添加的"安裝項目", 選擇"視圖"--"註冊表";
在"目標電腦上的註冊表"下,預設有註冊表的五個主鍵欄;
預設情況下, 在 [HKEY_CURRENT_USER] 和 [HKEY_CURRENT_MACHINE] 下會有 [Software]\[Manufacturer] 分支, 如果你的安裝項目的屬性中設定了 [Manufacturer]值, 安裝後會用值去替代[Manufacturer], 例如 [Manufacturer] 的值 設定為 "Power Word", 則安裝後會在 [Software]下建立一個[Power Word]分支;
預設情況下 [Manufacturer] 的 AlwaysCreate 屬性是 false, 即:如果你的 [Manufacturer] 下沒有項目,則不建立 [Manufacturer] ,如果無論如何都要建立這個鍵, 則可將 它的 AlwaysCreate 設定為 true;
依照上面的方法, 在你想建登錄機碼的主鍵中逐級建立分支項和項目, 在建立的登錄機碼目上右擊後選屬性, 設定註冊項的 value 值;
無論是建主鍵分支還是項目, 都可以用 [] 的方法使用系統變數來動態指定需要添加的註冊表內容. 例如:
[Manufacturer] 存放的是安裝項目的公司值,
[ProductName] 存放的是安裝項目屬性中的 產品名稱,
[TARGETDIR] 存放的是安裝時使用者選定的安裝路徑,
[COMPANYNAME] 存放的是安裝時使用者填入的公司名(如果沒設使用者資訊安裝介面則取作業系統中的公司名),
[USERNAME] 存放的是安裝時使用者填入的使用者名稱(如果沒設使用者資訊安裝介面則取作業系統中的使用者名稱,
如此等等

如果想要在安裝時出現註冊碼, 要麼自己做一個DLL或者EXE項目, 加入到 自訂動作中在安裝時開啟介面輸入註冊碼, 要麼使用VS安裝項目內建的介面(在視圖--使用者介面中添加"使用者資訊"安裝介面,設定showserialnumber 為 true), 不過那個註冊碼是用 模7 來驗證的, 只要是驗證位元值之和能被7整除都能通過, 就像以前安裝盜板 office 97 時輸入 "1111111"一樣.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.