Windows 7 не обновляет путь приложения по умолчанию

-1

Я разрабатываю приложение в W7.

Мое приложение является приложением по умолчанию для файлов TIF. Это означает, что наши пользователи могут установить приложение в качестве приложения по умолчанию для открытия расширения .tif.

Проблема в том, что у меня есть несколько версий приложений (несколько exes) с одним и тем же именем. Если щелкнуть правой кнопкой мыши файл TIF и выбрать открытое по умолчанию приложение, оно не обновит путь к нему. Я думаю, что он запоминает имя exe из моей предыдущей версии и полностью игнорирует тот факт, что это на самом деле новый exe. После этого Windows все равно откроет мой .tif со старым exe.

Я приму ваш ответ, если вы сможете показать мне способ заставить Windows использовать мой новый exe вместо старого. (Переименование нового exe не вариант)

РЕДАКТИРОВАТЬ:
приложение не установлено на любой ОС. Выполняется прямо по сетевому пути. Старые версии были просто переименованы и расположены рядом с текущей версией. Текущая версия всегда имеет одно и то же имя. Я сделаю приложение устанавливаемым. Но сейчас это не так.

Ноэль Видмер
источник
Почему вы устанавливаете несколько версий одного и того же приложения? Почему вы не обновляете приложение?
Дэйв
Почему вы не удаляете предыдущую версию. Наличие нескольких версий одного и того же приложения не имеет большого смысла. После удаления пользователь сможет снова назначить приложение по умолчанию. Вы также можете сделать это путем изменения групповой политики.
Ramhound
@Dave Приложение не является установленным приложением. Он лежит на пути к сети и выполняется там же. Я просто переименовал старую версию и работал над копией проекта. Это еще не развернуто. Это означает, что только у меня есть проблема.
Ноэль Видмер
@Ramhound Как я только что обновил, приложение не установлено. Выполняется по сетевому пути.
Ноэль Видмер
1
@ NoelWidmer, как вы заставили файл по умолчанию выглядеть для неустановленного приложения? Я немного потерян с этим? Я предполагаю, что вы уверены, что он на самом деле не установлен, так что вы можете попробовать удалить старые изменения (или, по крайней мере, изменить их расположение файла (поместите их в другую папку, чтобы увидеть, решит ли она проблему)). Используете ли вы глобальные переменные в Windows, чтобы определить путь?
Дейв

Ответы:

1

Это не будет удобно для пользователя, и у меня Windows 8, но я уверен, что Windows 7 делает нечто подобное. Выполните эту процедуру с тем, что у вас есть, если какие-либо записи отличаются. Вот как я нашел настройки программы для изображений TIFF на моем компьютере.

Прежде чем вносить какие-либо изменения в реестр, всегда делайте резервную копию! Плохие вещи могут и произойдут, если вы облажаетесь!

Если вам удобнее работать с реестром Windows, все обработчики с любым расширением типа файла, зарегистрированным в Windows, хранятся в \HKEY_CLASSES_ROOT. Просто ищи \HKEY_CLASSES_ROOT\.tiff. Вы можете увидеть запись (Default)с данными TIFImage.Document. Найдите в реестре эту строку данных. Это привело меня к \HKEY_CLASSES_ROOT\TIFImage.Document. Посмотрите под shellзаписью. Здесь вы увидите записи правого клика для каждого действия над файлами TIFF, которые вы можете установить. openэто действие по умолчанию. Под этой записью вы увидите commandзапись. Строка данных здесь содержит команду, чтобы открыть файл.

Бен Ричардс
источник
Это круто! Я фактически удалил все свои записи tif в ROOT и CURRENT и переназначил приложение на расширение. Записи реестра были созданы снова. Хотя это был не "TIFImage.Document", а "tif_auto_file" (разница W7 - W8 ...?!) Большое спасибо
Ноэль Видмер
1

Прежде всего, я бы пересмотрел подход, так как вы останетесь с этим вопросом. Хотя кажется, что решение находится вне вашего контроля, хотя основано на комментариях. Может быть, так как приложение не должно быть установлено, может быть вариант сделать tiffs по умолчанию только тогда, когда оно загружено, и вернуться назад, когда приложение закрывается? Естественно, у вас все еще будут проблемы с этим, приложение закрыто, и вы хотите открыть .TIFF с вашим приложением. Однако во время тестирования это является серьезной проблемой?

В любом случае, возможно, ответ лежит в глобальных переменных в Windows - вам просто нужно обновить путь.

Или просто измените местоположение старых .exe-файлов. Создайте новую папку, назовите ее старыми файлами, поместите туда старые .exe-файлы!

Дейв
источник
0

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

vembutech
источник