我做了个小工具,安装后在注册表中会写入相关的信息。但在xp, vista, win7中基本只能写在HKEY_CURRENT_USER中,HKEY_LOCAL_MACHINE中权限不够。 这就造成了一个问题:某个用户软件安装后可以正常使用,但如果他log off,用另外一个帐号登录,软件就无法正常使用,因为设置信息没有,不但如此,连快捷方式什么的都找不到。如果第二个用户再次 安装这个软件,就可以使用了,但如果第二个用户接着删除该软件, 第一个用户登录后,该软件的快捷方式等还在,但点击后说找不到可执行程序。我发现不但我的 这个软件有这样的问题,很多流行的软件都有此问题! 但虚拟光驱,杀毒软件,office等却没有! 如何解决这个问题,或者说这种情况下最好的处理方式是什么?谢谢了

解决方案 »

  1.   

    HKEY_CURRENT_USER 本来就是by user的设定
    HKEY_LOCAL_MACHINE 才是by PC的,所有的用户都可以访问。
      

  2.   

    Vista Win7后要写HKEY_LOCAL_MACHINE 就需要有Admin权限。可以安装程序跳UAC
      

  3.   

    注册表用HKEY_LOCAL_MACHINE,快捷方式放到“All Users”路径下,安装程序需要以管理员身份运行才有写权限,可以通过设置程序的清单文件要求程序以管理员身份运行。
      

  4.   

    1. 以管理员权限运行。
    2. 自己提权。
    3. 尽量写自己的CURRENT_USER
      

  5.   


    你说的UAc是用户访问控制?
      

  6.   

    知道了,this is by design, no solution.
      

  7.   

    一般安装程序 只有 ADMIN权限才能运行,楼主可以设置一下 VS2005 08 都能设置的