当我安装VB6应用程序时,是InstallShield Express 4还是Windows 7导致我出现问题

当我安装VB6应用程序时,是InstallShield Express 4还是Windows 7导致我出现问题,vb6,installshield,Vb6,Installshield,我正在使用非常旧版本的InstallShield Express 4来打包我的VB6应用程序。在XP上安装它,效果很好。但是,当我在Windows7上安装它时,没有使用“以管理员身份运行”,所有内容似乎都是只读的。我无法编辑INI文件,因为访问被拒绝。应用程序就是不能正常运行。就好像连文件夹都无法访问一样。它安装在默认的“程序文件”文件夹中。我卸载应用程序,使用“以管理员身份运行”选项重新安装,将快捷方式的兼容性设置为“以管理员身份运行”,一切正常 我的问题是,这是VB6中继承的东西,应用程序必

我正在使用非常旧版本的InstallShield Express 4来打包我的VB6应用程序。在XP上安装它,效果很好。但是,当我在Windows7上安装它时,没有使用“以管理员身份运行”,所有内容似乎都是只读的。我无法编辑INI文件,因为
访问被拒绝
。应用程序就是不能正常运行。就好像连文件夹都无法访问一样。它安装在默认的“程序文件”文件夹中。我卸载应用程序,使用“以管理员身份运行”选项重新安装,将快捷方式的兼容性设置为“以管理员身份运行”,一切正常


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

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

该功能称为Windows Vista和以下Microsoft操作系统中引入的功能,用于防止应用程序对其进行任意写入访问。您仍然可以手动执行(通过将文件复制并粘贴到%ProgramFiles中),但UAC将提示您获得许可


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

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

该功能称为Windows Vista和以下Microsoft操作系统中引入的功能,用于防止应用程序对其进行任意写入访问。您仍然可以手动执行(通过将文件复制并粘贴到%ProgramFiles中),但UAC将提示您获得许可


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

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

以下是一些解决方案(最后一个是最好的)

  • 始终以管理员身份运行VB6应用程序
  • 关闭用户帐户控制。这会打开一些安全漏洞,不推荐使用
  • 使安装程序更改安装目录上的权限,并授予所有用户写访问权限。这是一种黑客行为,但它可能是让程序工作的一种快速方法
  • (不是您的安装程序)以便将其数据存储在%AppData%中,而不是安装目录中。这样比较好。下面介绍如何在VB6中执行此操作

是的,您的VB6应用程序确实有问题。它将数据存储在错误的位置。应用程序无法访问程序文件文件夹,除非它以管理员身份运行。这是由于,正如GSABL的回答中所解释的那样

以下是一些解决方案(最后一个是最好的)

  • 始终以管理员身份运行VB6应用程序
  • 关闭用户帐户控制。这会打开一些安全漏洞,不推荐使用
  • 使安装程序更改安装目录上的权限,并授予所有用户写访问权限。这是一种黑客行为,但它可能是让程序工作的一种快速方法
  • (不是您的安装程序)以便将其数据存储在%AppData%中,而不是安装目录中。这样比较好。下面介绍如何在VB6中执行此操作

谢谢你,巴比尔。我知道我的InstallShield版本对appdata文件夹一无所知。如果您熟悉InstallShield Express 12,那么选择Vista/Win 7的appdata文件夹和XP的程序文件是否足够聪明?@Drz:我对InstallShield不太熟悉。但是,如果不是特殊要求,为什么不试试NSIS[1]。NSIS与Windows 7和Vista兼容,并且非常可配置。[1] @DrZ:忘了添加-NSIS是免费的,在很多大项目中都很受欢迎。我要试试gsbabil。再次非常感谢你!你们有VisualStudio2010吗?如果是这样的话,您可以使用InstallShield(限量版)的免费版本。谢谢您。我知道我的InstallShield版本对appdata文件夹一无所知。如果您熟悉InstallShield Express 12,那么选择Vista/Win 7的appdata文件夹和XP的程序文件是否足够聪明?@Drz:我对InstallShield不太熟悉。但是,如果不是特殊要求,为什么不试试NSIS[1]。NSIS与Windows 7和Vista兼容,并且非常可配置。[1] @DrZ:忘了添加-NSIS是免费的,在很多大项目中都很受欢迎。我要试试gsbabil。再次非常感谢你!你们有VisualStudio2010吗?如果是这样,有一个免费版本的InstallShield(限量版)可供您使用。-1建议tur