" ProductName不是有效的短名称"安装程序时

时间:2014-06-30 18:36:59

标签: windows-services setup-project

我有一个Windows服务,它通过Visual Studio 2010安装项目打包到MSI中。这已经运行了多年,我们通常在Windows Server 2003计算机上安装此服务。现在我们正在升级到Windows Server 2012计算机并在安装此程序时收到错误消息:

  

' QuickReportsEmailerService'不是有效的短文件名。

这可以防止安装程序。我尝试将我的安装项目中的ProductName更改为QREmailerService,但随后错误消息更改为:

  

' QREmailerService'不是有效的短文件名。

我使用/ lv选项执行了我的安装程序,我得到了这个输出:

  

安装程序在安装此安装程序时遇到意外错误   包。这可能表明此包装存在问题。错误代码   是2835.参数是:ErrorIcon,ErrorDialog,MSI(c)(68:F0)   [14:34:41:379]:产品:QREmailerService - 错误1325。   ' QREmailerService'不是有效的短文件名。

     

行动结束14:34:41:CostFinalize。返回值3. MSI(c)(68:F0)   [14:34:41:379]:做动作:FatalErrorForm动作开始14:34:41:   FatalErrorForm。 MSI(c)(68:F0)[14:34:41:379]:注意:1:2235 2:3:   ExtendedType 4:SELECT ActionTypeSourceTarget,NULL,   ExtendedType FROM CustomAction WHERE Action =' FatalErrorForm'

为了安装它,我需要更改什么?

更多信息:

  • 我是服务器上的管理员
  • 当我用Google搜索时,我看到了一些similar errors,但他们都建议我修改此注册表项。但是我检查了他们要更改的内容,我的注册表项已经采用了这种格式。

编辑 - 我通过将ProductName更改为" QR"来解决问题。但这很难接受,现在它还不够具有描述性。为什么会生气?我应该知道的ProductName是否有一些最大长度?

1 个答案:

答案 0 :(得分:1)

想出来。

所以我的安装项目的应用程序文件夹默认为:D:[ProductName]

但是我们的新2012服务器没有D驱动器,我想在E驱动器上安装。所以我在安装项目中将其更改为C:[ProductName]。 C驱动器存在,所以现在在安装程序UI中我只需要手动更改为E驱动器。

当ProductName只是" QR"时,不确定为什么它适用于D:[ProductName]但是哦。好吧。