使用VB6安装程序安装.ini文件

时间:2014-12-09 20:51:32

标签: vb6

我有一个vb6应用程序,它编译引用项目文件夹中的.ini文件。我导入了该文件并将其添加为模块。这是确保文件随设置一起分发的最佳方法吗?理想情况下,文件应存储在Program Files

中的应用程序文件夹中

2 个答案:

答案 0 :(得分:1)

程序文件中的文件夹不可写。像ini文件这样的文件会进入AppData\Appname,这在Win 98中是不存在的(VB6是为什么设计的)。

在VB6的安装程序中,您可以指定要添加到设置的文件以及放置它们的位置。但是AppPath需要由硬编码路径指定(也许%AppData%\AppFolder可以工作)。

添加ini进行设置,将其安装在ProgramFiles中,如果AppData中不存在,则将其复制。

  

C:\ Users \ User> icacls“%programfiles%”

     

C:\ Program Files NT SERVICE \ TrustedInstaller:(F)

            NT SERVICE\TrustedInstaller:(CI)(IO)(F)
            NT AUTHORITY\SYSTEM:(M)
            NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
            BUILTIN\Administrators:(M)
            BUILTIN\Administrators:(OI)(CI)(IO)(F)
            **BUILTIN\Users:(RX)**
            BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
            CREATOR OWNER:(OI)(CI)(IO)(F)
     

成功处理了1个文件;处理0个文件失败

答案 1 :(得分:1)

通常,您的安装程序将升级并且足够复杂,可以在LocalAppData特殊文件夹下创建特定于应用程序的文件夹。然后,它将在该文件夹上设置适当的安全性,以允许标准用户读取和写入您的INI文件。最后,它会将您的INI文件部署到该文件夹​​中。

您的应用程序需要足够复杂,以便在运行时找到该文件夹​​以使用INI文件。

如果您使用的安装程序技术没有这种灵活性,则可以将INI文件作为“首次运行检测”的一部分进行查找。如果文件丢失,它可能会重新运行,需要提升或生成一个提升的帮助程序来创建文件夹,在其上设置适当的安全性,并复制到原始的INI文件中。

无法处理文件夹安全性会有问题,因为这些位置会继承“所有者”安全性,只有文件创建者才具有完全的读/写访问权限。

这些都不是新的,这些是自IE4提供Windows 95桌面更新以来至少1997年以来的部署规则。人们在Win9x下躲过谋杀,因为没有有效的安全措施,而且在NT上直到Vista,过度使用管理员和高级用户帐户来绕过安全性,使其感觉像Win9x。

这些都不是VB6应用程序独有的。