Существует ли переменная окружения или эквивалент для WinZip? - PullRequest
1 голос
/ 21 июля 2010

Существует ли переменная среды или эквивалент для WinZip32.exe, которую я могу использовать, чтобы найти путь к ее местоположению?

РЕДАКТИРОВАТЬ - Это внутренний инструмент для управляемой системы.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 21 июля 2010

Вы можете получить доступ к реестру и воспользоваться поиском соответствующей программы для файлов .zip.В любом случае это было бы лучше, поскольку не все используют WinZip.

1 голос
/ 22 июля 2010

Существует ли переменная окружения или эквивалент для WinZip32.exe, который я могу использовать, чтобы найти его путь к местоположению?

ВЫ вероятно может извлечь местоположение программы из реестра.Большинство программ хранят свои настройки либо в HKEY_LOCAL_MACHIN / Software / VendorName / ProgramName, либо в HKEY_CURRENT_USER / Software / VendorName / ProgramName.Где VendorName - название компании, а ProgramName - название программы.Эти настройки МОГУТ включать путь установки.И, конечно, информация об удалении находится где-то в HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall. Однако полагаться на любую из них не очень хорошая идея - формат настроек может измениться в следующем выпуске, а некоторые пользователи (например, я)как правило, обнулять дополнительные значения из реестра, даже если они все еще имеют программу.Таким образом, вы не можете гарантировать, что программа присутствует, если эти значения установлены, и вы не можете гарантировать, что она не присутствует, если эти значения отсутствуют.

Правильное решение зависит от того, что вы собираетесьделать с winzip.

Если вы хотите извлечь * .zip файлы с помощью вашей программы, у вас есть два варианта:

  1. Использовать какую-то библиотеку, которая обрабатывает zip-файлы.
  2. Включите компактный * .zip-совместимый архиватор (возможно, из командной строки) с вашей программой.

Если вы хотите открыть файлы в winzip для пользователя, то правильным способом будет открыть использование любой программы, связанной с * .zip в системе пользователя, вместо того, чтобы заставлять пользователя использовать winzip.Я считаю, что открытие файла с помощью программы (в настоящее время связано с этим типом файла) может быть сделано с ShellExecute

1 голос
/ 22 июля 2010

Установщики обычно хранят полезную информацию в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, но фактический ключ не всегда легко найти, и хранимая информация варьируется от установщика к установщику.

Похоже, что WinZip (по крайней мере 14,5) используетустановщик на основе MSI, поэтому вам нужно найти его ключ (в моем случае {CD95F661-A5C4-44F5-A6AA-ECDD91C240BD}), а затем прочитать ключ InstallLocation (полный путь HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{CD95F661-A5C4-44F5-A6AA-ECDD91C240BD}\InstallLocation).

PS Если WinZip доставляет слишком много хлопот, вы всегда можете воспользоваться одной из многих бесплатных альтернатив, предлагающих версии для командной строки, например 7-Zip , которые вы можете установить / скопировать в известном месте.

...