none
clr2.0与clr4.0是否在安装程序方面有什么不兼容性? RRS feed

  • 问题

  • 是这样的,之前一直是用VS2008(.NET3.5)做的安装程序,近段时间代码升级至2010((.NET4.0))后发现以下问题:
    1,入口程序(×××.exe)在注册表里面"SOFTWARE\Microsoft\Windows\CurrentVersion \Installer\UserData\Username\Components"里面的值变了,以前一直是一个固定的值,但是用2010做出来的安装 好后生成的注册表值是另外一个了,这点我始终搞不明白。

    2,以前判断覆盖安装是用的读注册表,如果有别个版本也安装在这个目录,就把那个版本删掉。这个删掉是重开一个进程等当前安装进程结束之后才开始 的。之前一直没有问题,但是用2010做出来的去覆盖2008做出来的时就会发现这个删除过程把刚安装的东西都删掉了,刚才的安装目录空空如也。

    VS2010为什么会这样啊?是否跟CLR有关?请大家帮我解答疑惑,谢谢!感激不尽!

    2012年3月21日 2:00

全部回复

  • 4.0 的framework 是比3.5的程序多了一些新特性,但是好像在读取注册表什么的没什么大的改变。应该不会影响到程序的兼容性或者其他。

    我建议是参考下一下升级之后,VS有一个显示都什么更新了的一个页面,仔细检查一下什么更新了。影响到了什么功能。 另外仔细查看一下代码,有可能代码页会有点影响。

    还有就是建议您重新调试一下之后,然后重新编译,最后在测试一下。

    当然这些是我的一些猜测,如果您能共享一下代码的话,会更容易发现问题,并解决问题的。


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us

    2012年3月22日 4:02
    版主
  • 4.0 的framework 是比3.5的程序多了一些新特性,但是好像在读取注册表什么的没什么大的改变。应该不会影响到程序的兼容性或者其他。

    我建议是参考下一下升级之后,VS有一个显示都什么更新了的一个页面,仔细检查一下什么更新了。影响到了什么功能。 另外仔细查看一下代码,有可能代码页会有点影响。

    还有就是建议您重新调试一下之后,然后重新编译,最后在测试一下。

    当然这些是我的一些猜测,如果您能共享一下代码的话,会更容易发现问题,并解决问题的。


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us

    1,入口程序(×××.exe)在注册表里面"SOFTWARE\Microsoft\Windows\CurrentVersion \Installer\UserData\Username\Components"里面的值变了,以前一直是一个固定的值,但是用2010做出来的安装 好后生成的注册表值是另外一个了,这点我始终搞不明白。

    这不是跟没回答一个样嘛。。。。

    2012年4月9日 8:16
  • 我猜可能是安装和卸载程序相关的问题。 您是用什么方式的安装卸载程序? ClickOnce?


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us

    2012年4月9日 8:38
    版主