GHC + wxHaskell в Windows

Иметь GHC 6.8.3 и wxHaskell-0.10.3 на компьютере с Windows XP. Устанавливается как двоичные дистрибутивы, а не как сборка из исходников. Построил пример с помощью следующей команды:

ghc --make Paint.hs

Он работает на том же компьютере, на котором был построен (с установленными GHC и wxHaskell), но не работает, если перенесен на другой (без установленного). Он выдает "Ошибка приложения" с надписью "Приложение не удалось правильно инициализировать (0xc0150002). Нажмите кнопку ОК, чтобы завершить программу".

Единственный несистемный dll, который он хотел, был wxc-msw2.6.4-0.10.3.dll, который я скопировал в его папку.

В чем может быть причина?

3 ответа

Решение

Ошибка возникает из-за зависимостей, которые упоминаются в манифестах DLL (предположительно сторонних с wxHaskell), которые ваша система ожидает найти в таких местах, как WinSxS и SoftwareDistribution, в вашем каталоге Windows. Я предполагаю, что установка wxHaskell помещает туда файлы.

Вы можете найти, какие файлы ищет программа, посмотрев в просмотрщик событий на неисправном компьютере. Вы даже можете исправить их, переместив файлы с рабочего компьютера. Однако, как и предполагалось, среды выполнения VC++ 2005 наиболее вероятны - средство устранения неполадок wxHaskell предлагает вам попробовать распространяемые пакеты VC++ 2005 спакетом обновления 1:

http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en

Datapoint: у меня работает на XP sp2 box.

Я думаю, вы хотите установить распространяемые файлы среды выполнения VC++ на целевой компьютер. Вторично распространяемые файлы для приложений, созданных в Visual Studio 2005, доступны здесь:

http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en

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