1

我试图将解决方案从VS.NET 2008转换为2010.该解决方案包括一个Windows服务项目和一个安装Windows服务的安装项目。我在编译安装项目时遇到问题。我尝试了几次从零开始,遵循教程here下的标题为的部分为您的服务创建安装项目。Windows服务安装项目问题从VS.NET 2008转换到2010

当我只需按照以下步骤并生成项目,我得到这个错误:

Unable to build custom action named 'Primary output from <name> (Release x86)', InstallerClass property is only valid for assemblies. 

(哪里是我的Windows服务项目的名称)。搜索此错误会调出this MSDN上的页面,它告诉我将InstallerClass设置为False。我为4个自定义操作中的每一个都这样做。使这一变化,并建成后,我得到以下错误:

Unable to build custom action named 'Primary output from <name> (Release x86)' from project output group 'Primary output' because the project output group does not have a key file. 

谷歌搜索,我只能得到一个hit。甚至不要打扰点击链接,全文是:“删除自定义操作并将其替换为指向具有密钥文件的项目输出组的自定义操作。”

这是什么意思?任何人都可以帮我弄清楚我在这里做错了什么?

回答

3

它看起来像问题是当我设置InstallerClass。显然,我没有为x86目标构建Windows服务。我从this讨论中得到了提示。我将所有项目都更改为目标正确的平台,并将安装程序类设置为对于安装文件中的每个自定义操作,现在正在构建它。

+0

这个'InstallerClass'属性在哪里设置为true? – 2014-04-21 17:03:39

+0

@TheMuffinMan在VS 2103中,双击错误列表中的错误,在Install文件夹下,你应该看到属性窗口中的InstallerClass属性设置为false。 – kyle 2015-06-25 19:40:45

3

这是有点老,但我自己碰到了这个错误: 迁移vs2008到vs2010,安装项目没有在一个特定的配置中给出错误,而是在包括安装项目在内的其他两个配置中。发现最初创建时,有人添加了来自特定配置的主要输出(不是“(Active)”)。所以当一个不同的配置被建立时,安装程​​序会抛出这个错误。 (可能在迁移之前有这个问题VS2010。)
要解决:

  1. 复制自定义动作的名称和CustomActionData字符串(只是文本轻松地重新创建)
  2. 删除自定义操作
  3. 删除主输出&内容文件(这是Web安装项目)
  4. 加回小学&内容,选择(活动)配置
  5. 加回自定义操作

现在所有内容都没有错误。

+0

有时,您只需重建所有组件以确保它们可用,特别是从调试切换到发布时。 – 2013-12-10 06:22:42

-1

重建项目的哪个类安装程序类,然后重建安装程序项目。