在你的工程名上右击 -> 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"一样.

Visual Studio安装项目中将用户选择的安装路径写入注册表的方法[转]的更多相关文章

  1. DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解

    关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  2. Visual studio 创建项目失败vstemplate

    Visual studio 创建项目失败 提示 the vstemplate file references the wizard class 'Microsoft.VisualStudio.WinR ...

  3. Visual Studio CMake 项目和 WSL

    Visual Studio CMake 项目和 WSL https://devblogs.microsoft.com/cppblog/c-with-visual-studio-2019-and-win ...

  4. 如何利用 Visual Studio 自定义项目或工程模板

    在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志.这个时候,是选择在开发的时候手动添加还是自动生成呢? 我们 ...

  5. visual studio 2015离线版msdn下载和安装

    2014年11月13日,微软发布了Visual Studio 2015 Preview,但是Visual Studio 2015 的msdn该如何安装呢?下面脚本之家就为大家分享一篇visual st ...

  6. Visual Studio 自定义项目或工程模板

    如何利用 Visual Studio 自定义项目或工程模板 在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志 ...

  7. Xamarin 中Visual Studio创建项目提示错误

    Xamarin 中Visual Studio创建项目提示错误 错误信息:Object reference not set to an instance of an object 出现这种情况,是由于没 ...

  8. ArcGIS 10.2 二次开发,兼容Visual Studio 2012二次开发,完美安装教程

    GIS 经常安装是常有的事,每次重装系统都要浪费大半天去安装这个.所以凑这一次安装,把这个软件重新安装的步骤整理了一下,希望对大家有所帮助.这次整理的内容的关键优点是,对常见的出错内容进行了归纳整理. ...

  9. Visual Studio关于项目迁移或拉取代码产生的dll黄色感叹号警告问题解决方案

    今天换了台大电脑,准备好好爽一下, 就把笔记本上的项目拷贝到了台式机上, 但是我没有拷贝解决方案整个文件夹,因为其中项目太多了,我就把其中一个项目的文件夹直接拷贝到电脑上,然后就出现了下面的情况. 这 ...

随机推荐

  1. angular 倒计时

    $scope.countdown = ; var myTime = setInterval(function() { $scope.countdown--; $scope.$digest(); // ...

  2. redis数据库使用测试

    注:java spring data redis内置了几种redis序列化机制.JdkSerializationRedisSerializer最高效.有关序列化更详细的介绍-http://www.my ...

  3. 夺命雷公狗---node.js---19之项目的构建在node+express+mongo的博客项目4mongodb在项目中的基本引入

    首先我们在命令行下先建立这个库: 然后我们在项目中引入mongodb的模块: var MongoClient = require('mongodb').MongoClient; var DB_STR ...

  4. 夺命雷公狗ThinkPHP项目之----企业网站4之数据库连接

    我们众所周知,我们在开发的时候网站是需要连接上我们的数据库的,毕竟数据库是网站的最核心之一嘛,废话不多说直接开干.... 我们先找到:config.php文件对她进行修改,因为我们网站前后台都用到数据 ...

  5. thinphp讲解(三)——空操作、空控制器、跨控制器、命名空间

    一.“空操作”本质意思:一个对象(控制器)调用本身不存在的操作方法 一般网站处于安全考虑不给用户提示任何错误信息 在tp里面控制器controller.class.php里有个_call()方法 所以 ...

  6. 【linux】终端直接执行py文件,不需要python命令

    先将终端所在路径切换到python脚本文件的目录下然后给脚本文件运行权限,一般755就OK,如果完全是自己的私人电脑,也不做服务器什么的,给777的权限问题也不大(具体权限含义参考chmod指令的介绍 ...

  7. 经典SQL

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  8. C语言初学者代码中的常见错误与瑕疵(7)

    问题: 矩形的个数 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形.给出A,B,计算可以从中找到 ...

  9. 高效的使用Response.Redirect解决一些不必要的问题(转载)

    这篇文章主要介绍了如何高效的使用 Response.Redirect解决一些不必要的问题,需要的朋友可以参考下 介绍: 我正在评估一个 ASP.NET Web 项目应用.它有一些可扩展性问题.意味着当 ...

  10. Couchbase

    Couchbase介绍,更好的Cache系统 在移动互联网时代,我们面对的是更多的客户端,更低的请求延迟,这当然需要对数据做大量的 Cache 以提高读写速度. 术语 节点:指集群里的一台服务器. 现 ...