сделал, но снова то же самое!
Ошибка
UserCanceledException вместе с "configuration is valid" подтверждает, что "минимальный" конфиг, который я вам дал, был
слишком простым. В нём не хватало некоторых важных настроек, которые ISTA проверяет при запуске (например,
TesterGUI.WorkingDirectory), поэтому программа специально закрывается.
Кроме того, тот факт, что в вашем исходном конфиге было "всего две строки", означает, что он ссылался на внешний файл настроек (скорее всего,
App.config в другой папке), поэтому всё и сломалось после переноса файлов.
Раз вы "развернули" установку в
C:\ISTA, нам нужен
полный автономный конфиг, в котором все настройки находятся внутри него, без ссылок на внешние файлы.
Пожалуйста, выполните эти шаги, чтобы создать финальную рабочую конфигурацию.
Шаг 1: Создайте полный файл конфига
1. Перейдите в
C:\ISTA.
2. Удалите текущий
ISTAGUI.exe.config.
3. Откройте Блокнот.
4. Скопируйте блок кода ниже
ТОЧНО. В нём есть все необходимые ключи для установки, развернутой в один уровень.
XML:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!-- Critical Paths - Pointing to current folder -->
<add key="TesterGUI.WorkingDirectory" value="." />
<add key="BMW.Rheingold.CoreFramework.Path" value="." />
<add key="BMW.Rheingold.Interfaces.Path" value="." />
<add key="BMW.Rheingold.Programming.Path" value="." />
<!-- Online / Programming Settings -->
<add key="BMW.Rheingold.Online.Mode" value="False" />
<add key="BMW.Rheingold.Programming.Enabled" value="False" />
<add key="BMW.Rheingold.Programming.ExpertMode" value="False" />
<add key="BMW.Rheingold.CoreFramework.LightMode" value="False" />
<!-- Diagnostics Settings -->
<add key="BMW.Rheingold.Diagnostics.VehicleIdent.ReadBasicVehicleData" value="True" />
<add key="BMW.Rheingold.Diagnostics.VehicleIdent.ReadVehicleData" value="True" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- SQLite Fix -->
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="1.0.111.0" />
</dependentAssembly>
<!-- JSON Fix -->
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
5. Сохраните как
ISTAGUI.exe.config в
C:\ISTA.
6.
Важно: убедитесь, что "Тип файла" установлен как
Все файлы.
Шаг 2: Проверьте SQLite DLL
Раз вы переносили файлы, давайте на 100% убедимся, что правильная DLL лежит в основной папке.
1. Найдите вашу
x86-версию
SQLite.Interop.dll (из ваших файлов фикса).
2. Скопируйте её в
C:\ISTA.
3.
Перезапишите существующий файл, если появится запрос.
*(Примечание: даже на 64-битной Windows ISTA — 32-битная программа, поэтому рядом с .exe ОБЯЗАТЕЛЬНО должна быть x86 DLL)*.
Шаг 3: Запустите от имени администратора
Щёлкните правой кнопкой по
ISTAGUI.exe и выберите
Запуск от имени администратора.
Почему это работает:
Этот файл конфига явно задаёт
TesterGUI.WorkingDirectory как
. (текущая папка). Без этого конкретного ключа ISTA считает, что запускается из подпапки
bin\Release, ищет файлы, которых там нет, и выдаёт ошибку "UserCanceled", которую вы видели.