我正在尝试将解决方案从 VS.NET 2008 转换为 2010。该解决方案包括一个 Windows 服务项目和一个安装 Windows 服务的安装项目。我在编译安装项目时遇到问题。我已经尝试从头开始几次,按照标题为 为您的服务创建安装项目部分下的教程此处。
当我简单地按照以下步骤构建项目时,我收到此错误:
Unable to build custom action named 'Primary output from <name> (Release x86)', InstallerClass property is only valid for assemblies.
(其中是我的 Windows 服务项目的名称)。搜索此错误会在 MSDN 上显示 this 页面,它告诉我将 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.
谷歌搜索,我只得到一个点击。甚至不用点击链接,全文是:“删除自定义操作并将其替换为指向具有密钥文件的项目输出组的自定义操作。”
h 是什么意思?谁能帮我弄清楚我在这里做错了什么?
看起来问题出在我将 InstallerClass 设置为 False 时。显然,我没有为 x86 目标构建 Windows 服务。我从this讨论中得到了提示。我更改了所有项目以瞄准正确的平台,并将安装文件中的每个自定义操作的 InstallerClass 设置为 True,现在正在构建。
这有点旧,但我自己也遇到了这个错误:
将 vs2008 迁移到 vs2010,安装项目在一个特定配置中没有给出错误,但在包含安装项目的其他 2 个配置中出现错误。发现最初创建时,有人添加了特定配置的主要输出(不是“(活动)”)。因此,当构建不同的配置时,安装程序会抛出此错误。 (可能在迁移到 vs2010 之前就遇到了这个问题。)
修复:
CustomActionData
字符串(只需文本即可轻松重新创建)现在一切构建都没有错误。
单独重建该类安装程序类的项目,然后重建安装程序项目。