Исключение COM DLL в приложении, когда оно запускается автоматически после завершения установки! - PullRequest
0 голосов
/ 12 декабря 2010

Я использую это решение для изменения MSI, чтобы включить флажок для пользователя, чтобы решить, хочет ли он запустить приложение после завершения установки.

Хотя все работает просто отлично, я заметил, что приложение не может использовать какие-либо COM DLL, зарегистрированные во время установки, когда он запускается автоматически. Приложение отлично работает при повторном запуске из меню «Пуск».

Я проверил это на Windows XP и Windows 7.

COM-библиотеки DLL были помечены как саморегистрационные библиотеки DLL в проекте установки.

Ответы [ 2 ]

1 голос
/ 17 декабря 2010

У меня все получилось.Проблема заключалась в том, что целевой каталог не был указан.Исправление ошибки было упомянуто в этом вопросе .

Я изменил одну из строк в скрипте на:

sql = "INSERT INTO `CustomAction` (`Action`, `Type`, `Source`, `Target`) VALUES ('VSDCA_Launch', '226', 'TARGETDIR', '[TARGETDIR]\\" + filename + " " + arguments + "')"; 
0 голосов
/ 13 декабря 2010

Сложно дать ответ на такой конкретный вопрос, так как у меня нет вашего установщика и приложения в тестовой лаборатории для выполнения базового профилирования и устранения неполадок.Однако я брошу идею в стену и посмотрю, придерживается ли она:

Отличается ли ваш рабочий каталог между ярлыком и созданием процесса из установщика?В зависимости от того, как был зарегистрирован ваш COM, это может иметь значение.

...