Проект установки создает дополнительные ключи

У меня есть проект установки, и он прекрасно работает уже пару лет. Я недавно добавил в проект новый проект - winform. Я взял много поисков и поисков, чтобы это сработало, во многом благодаря множеству статей, которые я нашел во время моего "приключения".

Этот новый проект позволяет мне щелкнуть правой кнопкой мыши файл в проводнике и добавить его в мою систему. Я могу установить проект отлично, файлы добавляются / копируются в нужное место. Код в порядке, делает именно то, что я сказал.

По какой-то причине редактор реестра и БД регистрации Windows не согласовывают ключи.

Редактор реестра заявляет, что я должен иметь HKCR\*\shell\Add to system\command и строковый ключ, говорящий
Name: (Default)
Value: "[TARGETDIR]mySystemAddFileForm "%1"

Софар так хорош, да, Windows reg db также считает, что путь правильный. Да, есть "но". По какой-то причине Windows reg db считает, что должен быть второй ключ строки, говорящий
Name: (Default)
Value: null

Windows имеет приоритет и портит мою логику (дизайн, код, идея).

Если я уберу это вручную, я могу просто щелкнуть правой кнопкой мыши по файлам и добавить их в систему. Просто быть чистым. Да, в Explorer действительно есть опция правого клика, которая говорит "Добавить в систему", и да, после того, как я вручную отредактирую regedit, она срабатывает, когда я ее щелкаю.

До того, как я изменил его на редактор реестра, у меня была генерация ключа в CustomSetupActions, но я не смог сделать это, если пользователь решил отредактировать папку установки. От стандартных [programfiles] (c:\Program Files\ ..) до того, что пользователь решил в точке установки.

Под редактором реестра я подразумеваю тот, что в проекте установки, View/Registry.

Как я могу сказать Windows, чтобы она осталась в моем отлаженном коде и позволить мне решать, какие ключи reg создаются, когда и где.

Отредактировано: (Стандарт) в (По умолчанию). Windows может перевести (по умолчанию) на местный язык. Оставьте это по умолчанию.

1 ответ

Решение

Установщик Windows может устанавливать значения по умолчанию, и обычно они не переопределяются автоматически Windows.

Чтобы установить значение по умолчанию в проекте установки Visual Studio, убедитесь, что поле "Имя" не заполнено: http://msdn.microsoft.com/en-us/library/windows/desktop/aa371168(v=vs.85).aspx

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

Другие вопросы по тегам