解决安装程序在win7/vista安装时出现2869的错误

 

vs2005生成安装程序时,想要加入一些动作,比如在安装完成之后弹出一个窗口,或者在结束安装后运行程序,这时需要使用CustomAction,具体操作参见
 Vs2005安装程序完成后,自动启动程序  http://blog.hjenglish.com/optop/articles/1208387.html 
 How can I customize an MSI in the Visual Studio setup/deployment project? http://blogs.msdn.com/astebner/archive/2006/08/12/696833.aspx

最后生成了一个msi文件,在xp下面下使用这个msi文件安装程序一切都正常,但是在win7下时,会报错误2869,<The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2869>
网上找了资料后,发现是 win7/vista的 UAC造成的,具体原因不再探究,下面是查到的解决方案,

Post-Build script to fix MSI issues in Vista for VS 2005 Setup and Deployment Projects
http://blog.csdn.net/sfz_roger/archive/2009/09/02/4508540.aspx

Solution for MSI Error 2869 on Windows Vista
http://blogs.x2line.com/al/archive/2007/07/20/3210.aspx

Windows installer error, Error Code : 2869. msidbCustomActionTypeNoImpersonate
http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/c1326233-3f10-4d98-96a7-4a22e5eeaa2d/

都说需要向 CustomActions添加属性 msidbCustomActionTypeNoImpersonate,不过我没找到直接添加的方式,
后来用了第三个方案就可以了

需要注意的是, 那个需要保存的代码最好保存到 msi生成的目录下,然后cscript NoImpersonate.vbs <msi-file>放到安装项目的 PostBuildEvent事件中

BTW:下面这篇文章讲了下关于与UAC有关的内容,觉得还不错
让您的应用程序更好地适应 Windows Vista 的用户帐户控制
http://msdn.microsoft.com/zh-cn/magazine/cc163486.aspx

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值