首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以管理员身份运行:访问用户VirtualStore

以管理员身份运行:访问用户VirtualStore
EN

Stack Overflow用户
提问于 2011-04-01 08:04:32
回答 1查看 712关注 0票数 1

我的软件安装/第一次在Vista /7上运行与VirtualStore有关的问题。

我的软件是用C#编写的。安装人员: NSIS。

  1. 我的应用程序是使用NSIS安装的。它以管理员身份运行。
  2. 安装完成后,用户可以立即从安装程序启动软件。
  3. 这将导致以admin的形式执行程序的第一次运行。
  4. 在第一次运行期间,必须完成向导。此向导将从该软件的旧版本中导入数据,该版本已经在计算机上(C:\Program \OldProgram\ data )
  5. 但是,在7/Vista上,这些数据位于用户的VirtualStore中。当我是管理员时,我不会“看到”这些数据,也无法转换它。

问题:

  1. 我能知道哪个用户目前已经登录了吗?
  2. 是否有访问此用户的虚拟商店的通用方法?考虑到"Program“文件夹的名称是不同的,一些国家和我的应用程序位于"Program (x86)”中的64位。
EN

回答 1

Stack Overflow用户

发布于 2011-04-01 11:34:51

  1. UserInfo::GetName将给出用户名,如果需要更多的控制,请使用UserMgr
  2. Windows并没有真正提供一种在没有令牌的情况下访问其他用户特殊文件夹的方法,但是此助手宏在大多数情况下都能工作。虚拟商店的名称/位置没有记录AFAIK,所以您必须使用GetUserShellFolderFromRegistry获取最近的特殊文件夹,然后硬编码路径的VirtualStore部分.

如果您想以用户身份启动程序,而不是管理员执行安装,请使用UAC插件 (或删除finish页面上的run复选框,让用户正常启动程序)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5510636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档