Я строю установщик для решения, которое я разработал. Результатом одного из моих проектов является dll, который необходимо зарегистрировать. Я создаю MSI с Visual Studio, а затем модифицирую его с помощью InstallShield. В визуальной студии я добавил настраиваемое действие, для которого требуются права администратора, и установите для свойства register dll значение vsdrpCOMSelfReg
. Когда я запускаю msi без прав администратора, отображается сообщение о том, что для операции требуется роль администратора, и когда я подтверждаю и изменяю учетную запись пользователя, установка заканчивается без каких-либо ошибок, однако DLL не регистрируется. Я что-то упустил? Как правильно зарегистрировать dll? Любая помощь будет очень оценена.Installshield MSI не регистрирует dll
ответ
Самообслуживание не является лучшей практикой установщика Windows. Правильный подход заключается в создании метаданных COM в MSI и разрешении MSI копировать файл и применять данные реестра. В InstallShield вы достигнете этого, создав компонент для своей DLL, пометив DLL как файл ключа, а затем щелкните правой кнопкой мыши файл и выберите «Извлечь COM». InstallShield затем смоделирует регистрацию и отправит эту информацию в правильные таблицы. Сборка и тестирование на чистой машине. Никаких пользовательских действий не требуется, и установщик будет правильно поддерживать сценарии отката.
Нет причин даже создавать настраиваемое действие для этого, даже если это Visual Studio. Отметьте файл как vsdrfCOM, и регистрация классов будет извлечена во время сборки в таблицу классов MSI. Даже если вы должны настаивать на самостоятельной регистрации, вы можете отметить его vsdrfComSelfReg и он будет зарегистрирован из таблицы SelfReg в файле MSI. Никаких специальных действий вообще. Во всяком случае, как сказал Кристофер, не очень хорошая практика запускать самостоятельную регистрацию во время установки по многим причинам, в одном из которых отсутствуют зависимости.
- 1. MSI Desparation. MSI НЕ РЕГИСТРИРУЕТ DLL
- 2. Installshield LE регистрирует нежелательный .dll
- 3. InstallShield Basic Оптимизация MSI
- 4. InstallShield Basic MSI InstallDIR
- 5. MSI не деинсталлирует DLL-файлы
- 6. Installshield Chained MSI не выполняет ремонт для отдельных MSI
- 7. Installshield: набор и функция MSI
- 8. MSI - Условно зарегистрировать DLL
- 9. Обновление Installshield MSI, не обновляющее файлы
- 10. Проект Visual Studio Setup не регистрирует DLL при обновлении
- 11. Удаление Installshield msi во время процесса установки WiX msi
- 12. Installshield MSI - удалить модуль объединения в патче
- 13. Как подавить ненужные диалоги InstallShield InstallScript MSI?
- 14. Обновление виртуального каталога веб-сайта (MSI -Installshield)
- 15. Добавить файл MSI в новый проект Installshield
- 16. Профилировщик, который регистрирует аргументы dll
- 17. Как отключить регистрацию шрифтов в базовом проекте MSI Installshield (2011)?
- 18. InstallShield LE построить .msi вместо setup.exe
- 19. Как добавить файл msi в проект Installshield?
- 20. Добавление предварительного условия для msi в Installshield
- 21. Installshield: может ли он создать файл .msi?
- 22. InstallShield вызов метода ошибки метода advapi32.dll
- 23. Installshield MSI не убивает текущий процесс при удалении
- 24. Installshield 2014 Basic MSI Скрыть функции динамически не устанавливать функции
- 25. Не удалось установить «Minor Upgrade» msi в Installshield X?
- 26. InstallShield Basic MSI System Search не запускается для xml-файла
- 27. Способы уменьшить размер Bacic MSI Installer с помощью Installshield
- 28. Включая DLL в установщик MSI
- 29. InstallShield 2010 не удаляет функцию
- 30. Обновление проекта installshield 2008 до installshield 2013
Почему вы создаете Visual Studio MSI, а затем заявляете, что InstallShield не удалось? –
'Я создаю MSI с Visual Studio, а затем модифицирую его с помощью InstallShield.' это то, что я сказал – Kira