2010-07-16 80 views
0

我创建使用vb.net的Visual Studio 2008的Windows桌面的共享应用,以及使用innosetup 5.3.8包装它。问题是,当我在C:\ Program Files \ Application中安装了应用程序并且它运行成功(使用应用程序的试用期)时,我还能够通过安装在不同的目录中,以相同的设置重新安装应用程序。例如C:\ Program Files \ Application new。 C:\ Program Files \ Application new中的应用程序没有任何已安装的应用程序的设置。共享软件vb.net应用程序,安装在不同的目录中创建2个不同的组应用

我在哪里出了错。我需要在我的应用程序(vb.net)或innosetup中处理这个问题。如何照顾innosetup中已安装的路径,或通过升级较旧的应用程序,将已安装的应用程序的设置转移到新安装的路径。

我不想在注册表中写任何东西,因为应用程序不需要任何管理权限requirements.If我安装应用程序在相同的路径它得到更新与旧的设置被接管到这个新的,它工作正常。

回答

1

Windows应用程序通常在注册表中保存其设置下HKEY_CURRENT_USER\Software\YourCompany\YourApp或文件%APPDATA%\YourCompany\YourApp下。这两个位置都可以在没有管理员权限的情况下写入,并且这两个位置都是用户特定的也就是说,如果两个用户使用同一台计算机,则两个用户都可以在不影响其他用户的情况下使用自己的设置。

你永远不应该保存在c:\Program Files下的任何设置。写入Program Files文件夹需要管理员权限。如果您的应用程序没有清单,那么写入程序文件可能会出现问题。实际发生的情况是,您正在写入Program Files文件夹的文件被重新路由到VirtualStore。除非系统管理员已禁用VirtualStore。那么你的应用程序将失败。

如果您希望应用程序功能强大,则应该只将设置保存到HKEY_CURRENT_USER\Software\YourCompany\YourApp和/或%APPDATA%\YourCompany\YourApp。如果在这些位置未找到以前保存的设置,则应用程序应使用其默认设置。

+0

感谢信息一月但我的问题是,用户只需将应用程序安装在不同的文件夹中即可安装应用程序并使用应用程序的试用版。 – Naresh 2010-07-19 07:18:26

+0

如上所述,如果您使用注册表或%APPDATA%文件夹,则应用程序始终将其设置保存在相同的位置,而不管它安装在哪个文件夹中。在那里存储你的试用期。 – 2010-07-20 08:48:15

+0

此外,如果有人对您的问题给出了很好的答案,则应通过单击旁边的刻度符号将答案标记为已接受。到目前为止,您已经提出了5个已经回答的问题,但您没有接受任何答案。 – 2010-07-20 08:50:59

相关问题