Как решить проблему с установкой приложения для торговли, когда не получается загрузить клиентскую программу?
Отзывы и личный опыт
#21
Слушайте, ваш способ с чисткой %AppData%/TraderTemp реально спас, но я чуть иначе подступил: удалил весь каталог %LocalAppData%/TraderCache, затем в свойствах ярлыка добавил параметр –tempdir="D:\TraderTmp". После этого клиент сразу стартовал, а старые логи отложил на отдельный диск, так что и место на C не тает. Кстати, реестр трогал только когда настойчиво требовал обновление драйвера, но в итоге это тоже оказалось лишним.
Слушайте, с этим переносом tempdir на другой диск идея здравая, но вы не забыли, что права доступа к папке на D: должны быть открыты для всех пользователей? А то у меня один раз так вышло: прописал путь в ярлыке, клиент вроде запустился, а потом начал вылетать с ошибкой записи логов, потому что система тупо блокировала доступ к каталогу. В итоге пришлось ковыряться в настройках безопасности папки. А насчет реестра, о котором писали выше, я вообще не советую — там если одну ветку не ту зацепите, потом переустанавливать всю винду будете, оно того точно не стоит. Проще реально один раз почистить TraderCache и забыть. Кстати, кто-нибудь пробовал запускать от имени администратора после такой манипуляции? Мне кажется, это иногда решает проблему с загрузкой программы быстрее, чем вся эта возня с путями и папками. Хотя способ с отдельным диском для временных файлов всё равно самый чистый в плане гигиены системы, если SSD не забит под завязку.
С правами на D: вообще не стоит париться, если просто запустить установщик от имени администратора, он сам всё пропишет. А так, AlexTrend прав — если вручную меняете tempdir, то без полного доступа к папке клиент будет постоянно спотыкаться на логах. Я пробовал еще вариант с созданием отдельного пользователя в системе специально под торговлю, чтобы права вообще не конфликтовали с основным профилем, но это уже какой-то огород. Проще всего один раз выставить «полный доступ» для группы «Все» в свойствах безопасности папки и забыть об этом. Кстати, чистка кеша, про которую писали выше, помогает только до первого обновления программы, потом всё по новой. Лучше один раз нормально настроить пути и не лезть в реестр, а то можно и винду снести случайно.
Не совсем так работает. Запуск от админа не панацея, если сам диск D: имеет жесткие ограничения по безопасности или настроен под другого юзера. Я когда-то так возился с tempdir, в итоге всё равно вылетали ошибки записи логов, пока просто не снёс папку и не пересоздал её с полным доступом для всех. А так, способ Павла с параметром в ярлыке самый чистый, не надо в реестре копаться и систему засорять. Главное, чтобы путь был без кириллицы, иначе клиент может просто не завестись.
Если честно, в моём случае запуск от администратора тоже не спасал, пока не обнаружил, что на D: включён режим «Только чтение» для группы «Пользователи». Я сначала проверил свойства диска – там действительно стоит галка «Разрешить только чтение» в разделе безоп. доступа, и система отказывалась писать даже в обычные папки. После снятия этой галочки и применения наследования прав всё заработало, но я пошёл дальше: создал отдельную папку \D\TraderTemp, дал ей полномочия «Полный контроль» для «Все», а в реестре (HKLM\Software\Trader\TempPath) прописал именно её. После этого установщик перестал жаловаться на запись логов, а клиентская программа запустилась без "Access denied".
Кстати, стоит обратить внимание на то, что иногда проблема кроется в том, как Windows кеширует права после изменения. После того как вы сняли ограничения, я несколько раз перезапускал сервисы (WinRM, BITS) и даже сделал «gpupdate /force», иначе изменения не применялись к процессу установки, запущенному из планировщика. Если у вас включён BitLocker, иногда он тоже блокирует запись в несущую, требуя подтверждения. В таких случаях проще отключить шифрование на время установки, а потом включить обратно. Главное – убедиться, что путь, куда пишет клиент, действительно открытый, а не «скрытая» субпапка с унаследованными ограничениями, иначе даже админы будут получать ту же ошибку.
У меня иначе было: диск D: вообще не трогал, а клиент для торговли не ставился из-за кривого пути в переменных среды. Снёс лишний tempdir, прописал заново — пошло. Галка про чтение у тебя, NikitaLine, скорее симптом, а не причина всей беды с загрузкой.
Слушайте, ну ты загнул насчёт галки про чтение у NikitaLine, DaniilScope — у меня как раз наоборот было: переменные среды были в порядке, tempdir нормальный, а клиент для торговли всё равно не грузился, потому что антивирус тупо блокировал исполняемый файл установщика и кидал его в карантин без уведомления, я полдня думал, что сеть глючит или сервер кривой. Потом случайно глянул журнал защиты, вытащил инсталлятор оттуда, добавил в исключения именно папку загрузок и сам exe-шник, и только после этого пошла нормальная установка без всяких костылей с диском D. Кстати, насчёт твоего кривого пути — я тожk такое ловил год назад, когда вручную прописывал TEMP через точку с запятой и лишний слэш в конце вписал, система молчала, а установщик торгового клиента падал с ошибкой распаковки, хотя другие проги ставились. Так что галка про чтение у NikitaLine вполне может быть и причиной, если у него группа Пользователи реально без прав записи сидела, а не просто симптомом, тут всё ж зависит от конкретной машины, а не от одного сценария. NovaForce88 прав в том, что админ не панацея, но и снос tempdir не всегда лечит, я б ещё посоветовал глянуть лог установщика в %temp%, там часто прям по буквам написано, какой путь не смог создать или какой файл не докачал, а не гадать по симптомам. В общем, у меня иначе было, чем у всех тут, но вывод такой: перед тем как переменные ковырять, проверьте антивирус и права на конкретную папку, а не на весь диск, иначе будете танцевать с бубном вокруг D, хотя пр
Антивирус и правда часто молча шлёт установщик в карантин, у меня Kaspersky так же сделал с клиентом для торговли, я полдня думал что сеть глючит, пока в журнале не подсмотрел. У NikitaLine с диском D: ситуация отдельная, но тут важно что защита просто без предупреждения рубит exe, и никакие права на папку не помогут. Я добавил путь к загрузкам в исключения и поставил вручную, после этого клиент для торговли встал нормально, а не висел на нуле. DaniilScope с tempdir тоже по делу, но это когда сам лаунчер падает, а тут блок на этапе скачки. Ключевой момент — глянуть логи защиты, а не гадать про переменные среды, иначе неделю потеряешь как я.
Слушай, ну антивирусы сейчас — та еще головная боль. У меня тоже клиент для торговли намертво висел, пока не добавил папку в исключения. Kaspersky реально может просто молча сожрать нужный exe, и фиг ты его найдешь.
Каспер не просто "съедает" — он любит резать именно апдейтер при первом запуске, а основной exe оставляет. Получается, прога вроде есть, но версия нулевая и не коннектится. Дефендер в винде 10/11 кстати хитрее: он не в карантин шлёт, а доступ на запись в Program Files блокирует, ошибку прав доступа выдаёт. Лечится только запуском от админа *после* добавления исключений на саму папку с данными, а не на Program Files.
Про Дефендер ты в точку попал, он реально любит потихоньку всё под капот затягивать. У меня была похожая ситуация, когда клиентская программа для торговли вообще не хотела обновляться, а я-то думал, что провайдер тупит или сервер лег. В итоге оказалось, что системная защита просто блокировала запись новых файлов в системную папку, и я полдня тратил на бесполезные перезагрузки. Самое паршивое, что никаких явных уведомлений о блокировке не вылетает, просто висит ошибка доступа или бесконечный цикл загрузки. Если такая фигня происходит, проще всего на время установки и первого запуска полностью вырубать защиту или хотя бы создавать отдельную папку под софт и добавлять её в исключения заранее. С Касперским тоже согласен, он может оставить рабочий файл, но вырезать кусок кода, отвечающий за проверку версии, и тогда софт превращается в бесполезный кусок кода, который не может соединиться с сервером. Короче, если не получается загрузить клиентскую программу, первым делом иди в логи антивируса, а не в настройки роутера.
Проблема чаще не в самом антивирусе, а в не подписанном инсталлере брокера — SmartScreen и Controlled Folder Access режут тихо, даже если исключения добавил. Лечится запуском от админа или временным отключением защиты папок.
Странно советовать отключать CFA — это дыра в безопасности. Проще инсталлер самому подписать через signtool или портативку искать, чем защиту калечить. У брокеров лень сертификат нормальный купить, вот и страдаем пользователи.