.net - Vista 上的 MSI 错误代码 2869

标签 .net windows-vista installation windows-installer

我有一个 MSI 用于我使用 Visual Studio 2005 创建的 .NET 应用程序,其中包括在安装结束时编写一些注册表项的自定义操作。我发现安装程序在 Windows XP SP2 和 SP3 上运行良好。但是,当我尝试在 Vista PC 上运行安装程序时,安装程​​序似乎几乎一直运行到最后,但随后死机并回滚,给出错误代码 2869。

我使用管理员帐户登录,但仍然出现相同的错误。

最佳答案

我找到了这个问题的最终答案。错误 2869 是一个无意义的错误,意思是“无法显示真正问题的错误”。真正的错误被掩盖了。在许多情况下,该错误与模拟有关,但并非总是如此!

此解决方案既修复了错误显示错误,也修复了 Vista 和 Windows 7 上的 Impersonation/Admin priv 问题。

缺少的一件事是手动操作(对于像我这样不想了解 javascript 的任何人)以使其正常工作。

  • 访问 http://blogs.msdn.com/b/nikhiln/archive/2007/04/25/post-build-script-to-fix-msi-issues-in-vista-for-vs-2005-setup-and-deployment-project.aspx
  • 获取脚本,并将其作为 PostBuildVistaFix.js
  • 保存到您的部署项目文件夹中
  • 调出部署项目属性
  • 将 PostBuildEvent 更改为
    cscript.exe ..\PostBuildVistaFix.js your_installer.msi
  • 关于.net - Vista 上的 MSI 错误代码 2869,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/465606/

    相关文章:

    c# - 判断当前时间是否在多个时间跨度之间

    delphi - 对于所有具有读/写权限的用户,我在 Vista/Win7 上的什么位置存储文件

    c++ - "Access denied"启动应用程序 - Windows Vista

    windows-7 - 如何找到我的机器上已安装的 cygwin 版本

    qt - 在 Mac OS X Lion 上安装 Qt SDK 的问题

    c# - 是否可以复制具有相似字段的类型实例?

    c# - 如果时区规则更改,以前保存的日期时间的 UTC 到本地时间转换

    c# - 从 Xamarin CrossMedia 插件将文件上传到服务器

    magento - 捆绑产品显示价格为 0

    linux - 安装 Pycharm 的问题