是否有WinZip32.exe的环境变量或等效项我可以用来查找它的位置路径?
编辑 - 这是受控系统的内部工具。
感谢。
答案 0 :(得分:2)
您可以访问注册表并使用查找相关程序的.zip文件。不管怎样,这会更好,因为不是每个人都使用WinZip。
答案 1 :(得分:1)
安装人员通常会在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
下存储有用的信息,但实际的密钥并不总是很容易找到,而且存储的信息因安装程序而异。
看起来WinZip(至少14.5)正在使用基于MSI的安装程序,因此您需要找到它的密钥(在我的案例中为{CD95F661-A5C4-44F5-A6AA-ECDD91C240BD})然后阅读{{1} } key(完整路径InstallLocation
)。
P.S。如果WinZip太麻烦你总是可以选择其中一个提供命令行版本的免费替代品,例如7-Zip,你可以在已知位置安装/复制。
答案 2 :(得分:1)
是否有WinZip32.exe的环境变量或等效项我可以用来查找它的位置路径?
你可能 可以从注册表中提取程序位置。大多数程序将其设置存储在HKEY_LOCAL_MACHIN / Software / VendorName / ProgramName或HKEY_CURRENT_USER / Software / VendorName / ProgramName中。其中VendorName是公司名称,ProgramName是程序名称。那些设置 MAY 包括安装路径。当然,在HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall中的某处有卸载信息但是,依赖它们中的任何一个都不是一个好主意 - 设置格式可能会在下一个版本中更改,而某些用户(像我一样)即使他们仍然有程序,也倾向于从注册表中获取额外的值。因此,如果设置了这些值,则无法保证程序存在,并且如果缺少这些值,则无法保证它不存在。
正确的解决方案取决于你将如何处理winzip。
如果您想用程序提取* .zip文件,您有两种选择:
如果要为用户打开winzip中的文件,那么正确的方法是打开使用与用户系统上的* .zip相关联的任何程序,而不是强制用户使用winzip。我相信使用程序打开文件(当前与该文件类型相关联)可以使用ShellExecute
完成