首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装VB6应用程序时,是不是WindowsExpress4或Windows7导致了问题

安装VB6应用程序时,是不是WindowsExpress4或Windows7导致了问题
EN

Stack Overflow用户
提问于 2012-02-29 10:04:33
回答 2查看 1.2K关注 0票数 0

我正在使用一个非常旧的InstallShield Express4版本来打包我的VB6应用程序。在XP上安装它,效果很好。但当我在Windows7机器上安装它,而不是使用“以管理员身份运行”时,一切似乎都是只读的。我不能编辑INI文件,因为access is denied。应用程序就是无法正常运行。就像它甚至不能访问文件夹一样。它安装在默认的“程序文件”文件夹中。我卸载了应用程序,使用“以管理员身份运行”选项重新安装,并将快捷方式的兼容性设置为“以管理员身份运行”,然后一切正常。

我的问题是,这是应用程序必须以管理员身份运行的VB6中继承的问题,还是InstallShield问题?如果是InstallShield Express的问题,InstallSheild Express 2012的最新版本会解决这个问题吗?我希望用户不必担心以管理员身份安装或运行应用程序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-29 10:15:12

您的VB6应用程序没有什么特别的问题。我会说这是旧版本的InstallSheild,这可能是本例中的问题所在。

该功能称为User Access Control (UAC),已在Windows Vista和后续的微软操作系统中引入,以防止应用程序对%ProgramFiles%进行任意写入访问。您仍然可以手动执行此操作(通过将文件复制并粘贴到%ProgramFiles%中),但UAC将提示您是否允许。

要确保您的应用程序正常运行,请将应用程序设置保存在%ProgramFiles%目录中的%APPDATA%或注册表中,而不是中。在安装或卸载您的程序时,需要对%ProgramFiles%进行写访问,您必须以管理员身份运行它(当然,除非您禁用了UAC,这是一个巨大的安全风险,强烈建议您不要这么做)。

票数 3
EN

Stack Overflow用户

发布于 2012-02-29 20:06:57

是的,你的VB6应用程序有一些特别的问题。它将数据存储在错误的位置。您的应用程序无法通过访问程序文件夹,除非它是以管理员身份运行的。这是由于User Account Control,正如gsabil的回答中所解释的那样。

这里有一些解决方案(最后一个是最好的)

  • 始终以管理员身份运行VB6应用程序。
  • 关闭用户帐户控制。这会打开一些安全漏洞,并且is not recommended
  • Make您的安装程序更改您的安装目录上的权限,授予所有用户的写访问权限。这是一种巧妙的做法,但它可能是一种快速获取程序working
  • Change your application (而不是安装程序)的方法,以便它将数据存储在%AppData%中,而不是安装目录中。这是更可取的。以下是有关如何在VB6

中执行此操作的一些detailed advice

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

https://stackoverflow.com/questions/9492593

复制
相关文章

相似问题

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