【问题标题】:"ProductName is not a valid short name" when installing program安装程序时“ProductName 不是有效的短名称”
【发布时间】:2014-06-30 18:36:58
【问题描述】:

我有一个通过 Visual Studio 2010 安装项目打包到 MSI 中的 Windows 服务。这多年来一直运行良好,我们通常将此服务安装在 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: 致命错误表单。 MSI (c) (68:F0) [14:34:41:379]:注:1:2235 2:3: 扩展类型 4:选择 Action,Type,Source,Target, NULL, ExtendedType FROM CustomAction WHERE Action = 'FatalErrorForm'

为了安装它,我需要进行哪些更改?

更多信息:

  • 我是服务器管理员
  • 我在谷歌上看到了一些similar errors,但他们都建议我修改这个注册表项。但我检查了他们将其更改为什么,我的注册表项已经是那种格式。

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

【问题讨论】:

    标签: windows-services setup-project


    【解决方案1】:

    想通了。

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

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

    当 ProductName 只是“QR”但不知道为什么它与 D:[ProductName] 一起工作,但是哦。

    【讨论】:

    • 这一定是因为 [ProductName] 最终出现在 MSI 文件 DefaultDir 的目录表中,当它被解析时,它实际上不是正确的 shortfilename!longfilename 格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    相关资源
    最近更新 更多