У меня есть программа, которую я сделал установщик для использования Inno Setup. Когда я запускаю приложение на ПК 1, для которого я написал код, программа работает без ошибок.
Я хочу иметь возможность запускать программу на ПК 2, на котором не установлена Visual Studio 2010. Итак, я установил Распространяемый пакет C ++ на ПК 2 (оба win 7) и поместите все необходимые библиотеки DLL из SDK, который я использовал, в тот же каталог, что и exe-файл. Однако по какой-то причине, когда я пытаюсь запустить приложение, оно просто вылетает.
Я знаю, что проблема как-то связана с тем, что dll находится в том же месте, что и exe, потому что я попробовал то же самое на ПК 1, который работал, и достаточно уверен, что программа вылетает, как только я помещаю dll в тот же каталог. На ПК 2, хотя, когда я перемещаю dll куда-то еще, я получаю ошибку, говорящую, что dll отсутствуют.
Поэтому я поместил DLL в отдельную папку и создал новую переменную PATH для DLL. Программа по-прежнему вылетает. Я побежал ходьба по зависимости к exe, и я получаю эти ошибки. Предполагается, что эти DLL находятся в том же каталоге, что и другие?
Я не уверен, почему моя программа не будет работать на другом компьютере. Любая помощь будет принята с благодарностью.
Редактировать 1 Я обнаружил экземпляр, в котором программа потерпела крах в мониторе событий. Это похоже на KERNALBASE.dll
Редактировать 2 Видимо мне нужно добавить больше деталей. На обоих компьютерах установлена одинаковая версия .NET Framework. Они оба работают под управлением Windows 7 Professional. Они оба 64-битные. Приложение, которое я сделал, использует SDK с DLL. Эти DLL были добавлены в каталог программы, чтобы второй компьютер мог их распознать. Я пробовал другие методы для экспорта кода Вот, Вот а также Вот. Все они сделали то же самое. Я считаю, что проблема связана с DLL, но я не эксперт, поэтому я и прошу помощи.
Ваше приложение 64bit? Затем вам нужно установить 64-битную среду выполнения MSVC ++.
Если нет, то вам нужно установить 32-разрядную среду выполнения MSVC ++. 32-разрядная среда выполнения (x86) установлена также на 64-битных машинах для 32-битных приложений.
То же самое относится к (сторонним) DLL-файлам: их необходимо скопировать в соответствующую папку (System32 vs SysWOW64) для 32/64-битных DLL-файлов.