После обновления до машины с Windows 8 и 8.1 все мои проекты InstallShield начали давать сбой при подписании. Ошибка возникает после или во время внедрения манифеста в setup.exe со следующей ошибкой:
Исключение ACCESS_VIOLATION (0xc0000005) по адресу 0x76b34db0 при попытке чтения адреса 0x00000001.
Файл: C:\Program Files (x86)\InstallShield\2011\System\isdev.exe Версия: 17.0.0.714 Исключение: c0000005 Адрес: 76b34db0 Тип доступа: чтение Адрес доступа: 00000001
...
Когда я решил выполнить отладку после сбоя, я получаю исключение в Visual Studio, говорящее об ошибке в Wintrust.dll:
Необработанное исключение по адресу 0x76B34DB0 (wintrust.dll) в isdev.exe: 0xC0000005: место чтения с нарушением прав доступа 0x00000001.
Сообщение об ошибке в журнале сборки заканчивается словами:
ISDEV : ошибка -7132: Произошла ошибка потоковой передачи файла поддержки ISSetup.dll S:\InstallShields\Server Fix Pack_IS2011\Setup.inx Внедрение манифеста SetupExe.Admin.manifest в setup.exe Начато подписание 8F8D.tmp ... Успешно подписано: 8F8D .tmp
Чтобы обойти это в небольших проектах, я удалил все параметры подписи, особенно использование файлов сертификатов/закрытых ключей spc и pvk.
После сборки установка прошла успешно без подписи. Я снова ввел подпись, используя только файл сертификата pfx. Но я никогда не могу выбрать опцию «подписывать файлы в пакете».
Есть проекты, в которых ни один из этих шагов не работает. Кто-нибудь сталкивался с такими проблемами в Windows 8/8.1? Есть ли обходные пути?
Спасибо