2012-06-24 3 views
1

У меня есть моя собственная программа установки, которую я использую для установки нескольких приложений, которые я написал.Является ли переустановка реестра Windows «плохой»?

Я обновляю эту программу, чтобы избежать обновления файлов данных приложения, идущих в виртуальный магазин пользователя, поскольку я читал, что это было «плохо». Я делаю это, сохраняя файлы программ и общих данных отдельно в их правильных местах, вместо того, чтобы вставлять все в Program Files, как мы делали в дни XP.

Я также использую SHGetFolderPath (да, он устарел, но мне все равно нужно поддерживать пользователей XP), чтобы получить известные папки вместо траления реестра, что является еще одной «плохой вещью» (я читаю).

Следующее, что я пытался сделать, это переписать код установщика, чтобы избежать перенаправления реестра на Wow6432Node при записи материала в HKLM, поскольку я думал, что это еще одна «плохая вещь».

Однако, хотя я мог бы разместить конкретное приложение, которое идет туда (например, установочная папка, если пользователь решает установить в другом месте, чем по умолчанию), убийца - это необходимость поместить информацию об удалении в HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall. Для 32-разрядных файлов, работающих в 64-разрядной системе, это перенаправляется на Wow6432Node. Я не вижу никакого способа обойти это - действительно ли это возможно?

+1

Написание собственного установщика и не использование MSI * очень * неразумно. –

+0

Почему? Я использовал это в течение многих лет с большим успехом. Он очень легкий и специфичный для того, что я хочу. Вы хотите ответить на мой вопрос? –

+0

@JeffG: MSI также очень легкий. Это некоторые из программ MSI builder (InstallShield, например), которые очень неуклюжи. –

ответ

2

Перенаправление реестра UAC можно разумно описать как «плохое», потому что оно специально предназначено для обеспечения совместимости с неправильно написанным программным обеспечением, то есть программным обеспечением, которое предполагает, что оно будет запущено с правами администратора.

Переадресация реестра WOW64 - это другой зверь; он предназначен для обеспечения совместимости с правильно написанным 32-разрядным программным обеспечением. Если ваше программное обеспечение является 32-разрядным и не нуждается в особой необходимости быть 64-битным, нет ничего плохого в том, чтобы позволить ему запускаться в среде эмуляции как есть, включая разрешение переназначения параметров реестра на Wow6432Node.

Если необходимо, вы можете указать bypass WOW64 registry redirection, но вы не должны делать это произвольно, только если есть определенная причина. Если перенаправление WOW64 вас беспокоит, единственной хорошей альтернативой является предоставление 64-битной версии вашей программы.

+1

Право ... Wow6432Node - это подходящее место для размещения деинсталляторов для 32-разрядного программного обеспечения. –

+0

Большое спасибо. Отличный ответ. Переадресация реестра WOW64 не беспокоит меня сама по себе - я просто хотел сказать, что это «правильная вещь», а не просто избегаемая исправление, такое как VirtualStore. –

Смежные вопросы