我们有一个适用于 Windows XP 的 .Net WinForms 应用程序的 MSI 安装程序,它只能以管理员身份安装和运行。用户必须在应用程序运行时登录。客户希望它在 Vista 下的用户帐户下安装和运行,并使用他们的 Windows 帐户。
初步查看代码会发现很多问题;安装程序写入注册表并将应用程序安装在 C:\Program Files 中。该应用程序将用户首选项存储在注册表中,将数据写入 C:\Documents and Settings\All Users\,并在 C: 中创建临时文件。
我想首先要做的是将数据文件存储在 System.Environment.CommonApplicationData 中,并将用户首选项存储在 System.Environment.LocalApplicationData 中。用户帐户可以将应用程序安装到 System.Environment.ProgramFiles 吗?
一个问题是应用程序必须可由任何用户安装和卸载,并且所有用户共享相同的数据文件。每个用户都有自己的偏好。
是否有书籍或网站详细说明了构建一个遵循 Vista 上的多个用户规则的 WinForms 应用程序所需的条件?
编辑:我与客户核对过,仅作为用户帐户安装的要求是坚定的,他们正在从楼层工作人员那里删除管理员访问权限。这排除了管理员安装的组件和每台机器的安装。
我正在考虑创建一个单独的数据应用程序,该应用程序将在管理机器上运行,地板机器将通过远程处理连接到该管理机器。所有客户端数据都将存储在这台机器上。但是,此应用程序还必须在用户帐户下安装和运行。
是否有书籍或网站描述了 Vista 用户应用程序必须遵循的所有规则?