Сбой вызовов HTTPS API в установщике WiX MSI при работе в консольном приложенииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Сбой вызовов HTTPS API в установщике WiX MSI при работе в консольном приложении

Сообщение Anonymous »

Я разрабатываю собственный установщик с использованием набора инструментов WiX для приложения .NET Framework 4.8. В процессе установки мне нужно сделать вызов HTTPS API. Вызов API отлично работает в автономном консольном приложении, но постоянно завершается сбоем при выполнении из установщика MSI.
Сведения о проблеме:
Вызов API работает с как HTTP, так и HTTPS в консольном приложении.
В установщике MSI HTTP-запросы выполняются успешно, но HTTPS-запросы завершаются с ошибкой

Ошибка:
Произошла ошибка при настройке сервера: WebException
произошло во время вызова API:
https://{Domain}:443/api /RPA/RpaSetupLog
Состояние: ReceiveFailure
Ответ:
Сообщение: Базовое соединение было закрыто: при получении
произошла непредвиденная ошибка.
Трассировка стека: в системе .Сеть. HttpWebRequest.GetResponseO
в CustomActions. Пользовательские действия. SendDataToApi(String
protocol, String domainOrlp, String port, String jsonData,
String rootCertificateString, String
intermediateCertificateString, String
endDomainCertificateString) в
Произошло в строке: O

Итак, проблема в том, что у меня был установщик Wix, для которого у меня есть установщик MSI, и когда я пытаюсь вызвать API с протоколом https это дает мне ошибку, но в notmal http это удалось, и когда я создаю одно консольное приложение с тем же параметром и той же функцией и пытаюсь вызвать его успешно, у меня возникла проблема с https в установщике .msi, я также добавьте эту строку

Код: Выделить всё

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
То же самое в консольном приложении работает, но в установщике MSI не работает
Проверенные сертификаты:
Убедилось, что сервер использует действительный сертификат. Для самозаверяющих сертификатов я вручную установил корневой, промежуточный и доменный сертификаты в хранилище сертификатов производственной системы.
Протестировано в различных средах:

На моем локальном компьютере и консольное приложение, и установщик MSI работают нормально.
В производственной системе:
Консольное приложение работает как для HTTP, так и для HTTPS.
Установщик MSI не работает для HTTPS.
Подключение к сети:

Проверено, что рабочая система может разрешить и пропинговать домен API.
HTTP-запросы от установщика MSI выполняются успешно. , указывая на наличие доступа к сети.

Код: Выделить всё

Code :

private static bool SendDataToApi(string protocol, string domainOrIp, string port, string jsonData)
{
string apiUrl = $"{protocol}://{domainOrIp}:{port}/api/RPA/RpaSetupLogs";

try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(apiUrl);
request.Method = "POST";
request.ContentType = "application/json";
request.Timeout = 30000;

// Enable TLS 1.2
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

// Bypass SSL Validation (Tried this as a workaround)
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

using (var writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(jsonData);
writer.Flush();
}

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode != HttpStatusCode.OK)
{
throw new InvalidOperationException($"API call failed with status: {response.StatusCode}");
}
}

return true;
}
catch (WebException webEx)
{
Console.WriteLine($"WebException: {webEx.Message}, Status: {webEx.Status}");
throw;
}
}

Сведения о среде:

  • Локальная система >:

    Windows 10
  • .NET Framework 4.8
  • HTTPS работает в обоих консольных приложениях. и установщик MSI.
[*]Производственная система >:
  • Windows Server 2019
  • HTTPS работает в консольном приложении, но не работает в установщике MSI.
  • HTTP отлично работает как в консольном приложении, так и в установщике MSI.

В чем мне нужна помощь:

  • Почему HTTPS сбой запроса в установщике MSI, но работа в консольном приложении?
  • Может ли это быть связано с контекстом выполнения, разрешениями или настройками среды установщика? Если да, то как мне отладить или решить эту проблему?
  • Требуются ли специальные конфигурации, чтобы установщик WiX поддерживал вызовы HTTPS во время установки?< /p>
Мы будем очень признательны за любые идеи и предложения. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... onsole-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сбой вызовов HTTPS API в установщике WiX MSI при работе в консольном приложении
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Скрывает пути при добавлении аргументов в установщике Wix и использовании их в приложении.
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Не могу обновить nvidia, потому что отсутствует vc_runtimeminimum_x86.msi и questiMtes vc_runtimeadditional_x86.msi [зак
    Anonymous » » в форуме C++
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Подсказка UAC при запуске запуска MSI с набором инструментов Wix от Heatwave
    Anonymous » » в форуме C#
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Подсказка UAC при запуске запуска MSI с набором инструментов Wix от Heatwave
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»