Как развернуть RecipePropertyHandler на машине, не предназначенной для разработки?
Некоторое время назад я успешно написал, скомпилировал и установил RecipePropertyHandler ( https://msdn.microsoft.com/de-de/library/windows/desktop/dd940375.aspx). На моей машине разработки это работает гладко, и я могу установить и удалить сгенерированную DLL, и после перезапуска проводника я сразу же вижу, как новые свойства заполняются.
Все, что нужно, это просто
regsvr32.exe RecipePropertyHandler.dll
Если я пытаюсь сделать то же самое на другом компьютере (не для разработки), команда regsvr32 выдает мне совершенно общее сообщение об ошибке (длинный текст не помогает) и отказывается вводить DLL:
1 ответ
Я выяснил, в чем проблема, на самом деле это были две вещи, которые я забыл (упомяну это здесь, может быть, это кому-нибудь поможет:-))
Мне всегда нужно запускать команды из командной строки с повышенными правами (DOS-Box администратора). Я иногда забывал об этом, и это сильно сбивает с толку, так как в ошибке не будет упоминаться проблема с правами доступа.
(И самое главное!) Я использовал VS2013 и скомпилировал с C++2013, это означает, что я должен установить vcredist_x64.exe на целевой машине (D'oh!). Вышеупомянутая ошибка происходит из-за отсутствия библиотек C++. Это на самом деле не имеет ничего общего с 64/32-битной и особенно не с regsvr32:-)
Так что я установил его, и теперь он работает как шарм. Мне даже не нужно было запускать инструмент prop.exe с файлом.propdesc, так как я удалил пользовательское свойство и использовал только стандартные (как вы действительно должны (нет, правда!)).