GKSHR Ответов: 2

Что мне нужно добавить на ПК без версии visual studio,чтобы установить установочный проект установщика visual studio?


Я создал setup.exe файл из проекта Visual Studio с помощью установщика Visual Studio.
Когда я устанавливаю его на ПК, который уже имеет любую версию Visual Studio, приложение работает правильно, а когда я устанавливаю его на ПК без версии Visual Studio, приложение падает, когда я пытаюсь открыть диалоговое окно или что-то в этом роде.

Что я уже пробовал:

Если я установлю visual studio, это решит проблему.

Кто-нибудь знает о конкретной функции, которая должна быть добавлена для установки проекта Visual Studio Installer?
Как я могу решить эту проблему без установки Visual Studio?

Richard MacCutchan

Вам необходимо установить соответствующие библиотеки поддержки на целевую машину.

Jochen Arndt

В дополнение к предоставленным решениям:

Убедитесь, что вы отправили релизную версию вместе с вашей настройкой.
Отладочные версии не будут работать в системах, в которых не был установлен VS.

CHill60

Хорошая мысль!

GKSHR

У меня есть еще один пункт о моей проблеме,
Установочный файл приложения MFC
Похоже, что сбой происходит, когда мы пытаемся открыть файловый диалог MFC.
В MFC140.dll (для VS2015) существует в папке System32, что еще, что связано с MFC, я должен добавить?

Jochen Arndt

Видеть Распространение Файлов Visual C++ за то, что вы должны отправить вместе с вашим приложением.
Общий процесс: отправьте свое приложение с распространяемым пакетом и выполните его во время установки (он ничего не сделает, если уже установлен).

Это сбой на всех клиентах или только на нескольких?
Для более позднего случая: на каких версиях Windows он падает.

GKSHR

Это сбой только для немногих, и это может произойти в Windows 7 и 10,
но он может добиться успеха и на этих версиях

Jochen Arndt

Все, что я могу предложить, это:

Создайте статически связанное приложение, чтобы проверить, связана ли ошибка с библиотекой DLL на клиенте или нет.

Если нет, то это может быть ошибка в вашем приложении. Проверьте код, который использует диалоговое окно файла. Добавьте проверки ошибок для всех функций, которые могут возвращать ошибку. Проверьте, существуют ли пути и файлы, прежде чем обращаться к ним (должны быть уже пойманы при проверке кодов ошибок / возвращаемых значений функций).

2 Ответов

Рейтинг:
1

CHill60

Когда приложение выходит из строя, оно, вероятно, выдаст вам сообщение об исключении, которое поможет вам определить, чего не хватает. Если нет, то посмотрите на журнал событий ПК, чтобы увидеть, чего не хватает.

Большинство ПК в наши дни будут иметь предустановленную .NET, но если вы используете какого - то древнего зверя, то вам, возможно, придется установить его-сделайте предпосылку вашей установки. Нет необходимости устанавливать Visual Studio.

Имейте в виду, что если вы удалили Visual Studio, возможно, вы удалили библиотеки, которые вам сейчас нужны - убедитесь, что версия библиотек .NET полностью исправлена (обновлена).

Если ваше "диалоговое окно или что-то в этом роде" принадлежит третьей стороне, то вам нужно будет включить библиотеки для этих элементов управления в свою настройку.

Также проверьте раздел ссылки вашего проекта, чтобы узнать, есть ли какие-либо другие библиотеки, которые вам нужны.


GKSHR

Большое вам спасибо за быстрый ответ.
Я не вижу никакого сообщения об ошибке, приложение просто закрыто.
Я это вижу .Сетевые библиотеки полностью исправлены,
Вы не знаете, что еще может пропасть?
На самом деле я не хочу устанавливать Visual Studio, я просто попробовал этот способ и обнаружил, что он решил проблему. Я хочу сказать: есть некоторые функции, которые установка Visual Studio добавляет в систему, и мне нужно добавить их в свой установочный пакет, но я не могу их понять...
Я хотел бы получить любую идею
Спасибо

CHill60

Смотрите комментарий Йохена Арндта выше - убедитесь, что вы отправили релизную версию, а не отладочную версию вашего исполняемого файла - я подозреваю, что он нашел проблему

GKSHR

Спасибо,
Но я работаю с релизной версией

CHill60

Неужели журнал событий не дал никаких подсказок?
Существует набор инструментов, называемых SysInternals, которые могут помочь вам решить, что включать. Есть статья об использовании Process Monitor - Устранение неполадок с разрешением зависимостей с помощью Process Monitor[^] а вот документация по комплекту - Sysinternals Suite[^]

GKSHR

Спасибо!
Я попробую

Рейтинг:
0

GKSHR

У меня есть еще один пункт о моей проблеме,
Установочный файл приложения MFC
Похоже, что сбой происходит, когда мы пытаемся открыть файловый диалог MFC.
В MFC140.dll (для VS2015) существует в папке System32, что еще, что связано с MFC, я должен добавить?