2012-04-05 22 views
1

我知道[TARGETDIR]将得到我的安装目录注册表价值,但我也想可执行的名称。我认为它应该是像[TARGETDIR] [OUTPUTPATH]或可能只是[OUTPUTPATH],但我找不到包含我正在安装的可执行文件的名称的安装程序属性上的任何内容。如何添加包含在Visual Studio部署项目的可执行文件路径在安装

我需要此信息在安装时将其放入注册表中。我知道我可以用我的项目中的一个自定义动作来做到这一点,但我宁愿只是使用安装程序属性。

+1

难道你不知道可执行的要安装的名字吗? [Here](http://msdn.microsoft.com/en-us/library/aa370905%28v=vs.85%29.aspx)是所有属性的列表,它看起来不像它有你想要的 – 2012-04-05 20:05:36

+1

是的,我知道这个名字,但是我不想对这个值进行硬编码,以防某些人在以后出现并改变它。 – jww 2012-04-05 20:18:39

回答

0

我认为[AssemblyPath]可能工作
(没有它在我面前来测试,如果我记得右)

+0

[AssemblyPath]返回一个空字符串。 – jww 2012-04-05 22:02:28

+0

是的,似乎从安装程序在C#中工作 - 你需要从(设置项目)注册表区域我猜测这个。我认为你的最佳选择是在你的应用程序或lib中添加一个自定义动作和映射到安装程序类 - 这将从安装项目中调用。在那里你可以有你的应用程序名称(通过调用Assembly.GetExecutable等),并从那里添加注册表。让我知道如果你需要更多的信息 - 我会重写我的答案,包括/删除。 – NSGaga 2012-04-05 22:33:58

+0

我最终做的是 1)将[TARGETDIR]传递给自定义操作,如http://msdn.microsoft.com/en-us/library/9cdb5eda%28v=vs.100%29.aspx 2)使用基本System.IO在自定义操作的OnAfterInstall方法中搜索该目录中的“* .exe”文件。在我的情况下,只有1个.exe文件,所以我可以确定这是我刚刚安装的应用程序。 (然后,我可以将该路径添加到注册表或做任何我想要的) – jww 2012-04-05 23:56:01

相关问题