Как развернуть RecipePropertyHandler на машине, не предназначенной для разработки?

Некоторое время назад я успешно написал, скомпилировал и установил RecipePropertyHandler ( https://msdn.microsoft.com/de-de/library/windows/desktop/dd940375.aspx). На моей машине разработки это работает гладко, и я могу установить и удалить сгенерированную DLL, и после перезапуска проводника я сразу же вижу, как новые свойства заполняются.

Все, что нужно, это просто

regsvr32.exe RecipePropertyHandler.dll

Если я пытаюсь сделать то же самое на другом компьютере (не для разработки), команда regsvr32 выдает мне совершенно общее сообщение об ошибке (длинный текст не помогает) и отказывается вводить DLL:

Очень полезно... НЕТ

1 ответ

Решение

Я выяснил, в чем проблема, на самом деле это были две вещи, которые я забыл (упомяну это здесь, может быть, это кому-нибудь поможет:-))

  1. Мне всегда нужно запускать команды из командной строки с повышенными правами (DOS-Box администратора). Я иногда забывал об этом, и это сильно сбивает с толку, так как в ошибке не будет упоминаться проблема с правами доступа.

  2. (И самое главное!) Я использовал VS2013 и скомпилировал с C++2013, это означает, что я должен установить vcredist_x64.exe на целевой машине (D'oh!). Вышеупомянутая ошибка происходит из-за отсутствия библиотек C++. Это на самом деле не имеет ничего общего с 64/32-битной и особенно не с regsvr32:-)

Так что я установил его, и теперь он работает как шарм. Мне даже не нужно было запускать инструмент prop.exe с файлом.propdesc, так как я удалил пользовательское свойство и использовал только стандартные (как вы действительно должны (нет, правда!)).

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