Author Topic: Всплывающее окно pu_stub.exe  (Read 576 times)

0 Members and 1 Guest are viewing this topic.

Offline Balbes

  • Newbie
  • *
  • Posts: 6
Всплывающее окно pu_stub.exe
« on: 27 07 2022, 13:37:50 »
В домене через GPO скриптом разворачиваю миранду. Версия 0.96.1 build #24540. Всё почти удачно, но после каждого перезапуска компьютера выскакивает окно "Разрешить этому приложению от неизвестного издателя вносить изменения на вашем устройстве? pu_stub.exe". Соглашаешься и миранда запускается. Если выйти из миранды и запустить её заново - окно не всплывает. Перезагрузишь компьютер - снова всплывает. Вроде бы мелочь, но надо как-то избавиться от этого окна.
Удалил даже аддон "PluginUpdater.dll" и всё равно продолжает всплывать.
Можете подсказать, как избавиться от этого всплывающего окна?
 

Offline dartraiden

Re: Всплывающее окно pu_stub.exe
« Reply #1 on: 27 07 2022, 17:45:28 »
Оно возникает, когда Миранда (не обязательно апдейтер ) пытается сделать что-то, на что у текущего пользователя не хватает прав. Например, куда-то писать, куда нет прав (наиболее частый случай это как раз обновление при установке в Program Files, где у рядового юзера нет права на запись, но могут быть и другие случаи). Поэтому вызывается pu_stub, который запрашивает поднятие привилегий через UAC.

Возьмите Procmon и посмотрите, что происходит при старте Миранды.

« Last Edit: 27 07 2022, 17:53:13 by dartraiden »
 

Offline Balbes

  • Newbie
  • *
  • Posts: 6
Re: Всплывающее окно pu_stub.exe
« Reply #2 on: 28 07 2022, 05:17:55 »
Я понимаю, что это от нехватки прав, но на сколько я понимаю pu_stub.exe необходим для обновления? Мне у каждого пользователя обновление не нужно. Мне проще при необходимости им распространять уже обновленные пакеты. Как-то можно совсем отключить запуск этого файла? Есть в настройках такая возможность?
А закидывать саму программу в папку пользователя - не вариант. Т.к. на одном компьютере может работать 4-8 пользователя. А то и больше. И у каждого хранить файлы программы как-то не комильфо.
Как и не подходит отключение у всех UAC.
*******
P.S.: Пока жду ответа попробовал поставить миранду не из zip, а с помощью .exe. Вначале всё шло отлично - сообщение не всплывало. Откатывал ВМ к чистому состоянию и скриптом копировал файлы пользователя. Все было отлично. Но это длилось до тех пор, пока не попробовал в папку пользователя положить autoexec_*.ini. Даже с полными настройками (не изменённый файл экспорта настроек). Теперь чтобы удалить этот файл из папки пользователя постоянно запрашивает права для pu_stub.exe.
Что я делаю не так?
« Last Edit: 28 07 2022, 11:51:03 by Balbes »
 

Offline dartraiden

Re: Всплывающее окно pu_stub.exe
« Reply #3 on: 28 07 2022, 13:01:27 »
Quote
pu_stub.exe необходим для обновления
pu_stub необходим для всех операций, когда Миранде нужно писнуть туда, куда нет прав. Обновление это лишь частный пример такого случая.

Например, если Миранда установлена в Program Files, и рядом с ней лежит autoexec_*.ini. Она должна его стереть после импорта, но у рядового пользователя нет прав на запись в Program Files. В таком случае вызывается pu_stub, который запрашивает через UAC у пользователя повышение прав.

Quote
Как-то можно совсем отключить запуск этого файла?
Сотрите его, например.

Проблема ваша в чём - у вас Миранда хочет что-то записать или что-то удалить там, где у текущего юзера не хватает прав. Соответственно я вам и предлагал через procmon глянуть, где.
« Last Edit: 28 07 2022, 13:10:36 by dartraiden »
 

Offline Balbes

  • Newbie
  • *
  • Posts: 6
Re: Всплывающее окно pu_stub.exe
« Reply #4 on: 28 07 2022, 13:11:45 »
Понятно.
Но только не понятно почему такой проблемы нет со старой версией 0.95.5 build #17337 ? Сейчас решил обновить клиентов и не могу. Надо как-то убить это всплывающее окно pu_stub.
Ни у кого нет решения? (Отключить UAC не предлагать ;D )
 

Offline Balbes

  • Newbie
  • *
  • Posts: 6
Re: Всплывающее окно pu_stub.exe
« Reply #5 on: 28 07 2022, 13:25:22 »
Ну вот из последнего опыта - не хватает прав удалить им же созданный файл autoexec_*.ini из личной папки этого же пользователя. При запуске миранды она запускает pu_stub чтобы удалить файл самого пользователя.
P.S.: Procmon тоже запускал. И сразу. Но он мне ничем не помог ??? . Так что опытным путем понял, что pu_stub.exe запускается чтобы удалить личный файл. И требует права. Хотя в старой версии всё было нормально
 

Offline dartraiden

Re: Всплывающее окно pu_stub.exe
« Reply #6 on: 28 07 2022, 13:26:02 »
А какой в точности путь к  autoexec_*.ini? И операционная система? Содержимое mirandaboot.ini тоже покажите.

Если я смогу это повторить у себя, это уже фактически гарантирует исправление бага.
« Last Edit: 28 07 2022, 13:28:41 by dartraiden »
 

Offline Balbes

  • Newbie
  • *
  • Posts: 6
Re: Всплывающее окно pu_stub.exe
« Reply #7 on: 01 08 2022, 11:52:26 »
Извиняюсь, что пропадал.

- какой в точности путь к  autoexec_*.ini
%APPDATA%\Jabber\Biorosva\autoexec_biorosva.ini

- операционная система - Windows10 Pro x64

- Содержимое mirandaboot.ini
[Database]
ProfileDir=%APPDATA%\Jabber
ShowProfileMgr=never
DefaultProfile=Biorosva
AutoCreate=no

[AutoExec]
Use=yes
Glob=%APPDATA%\Jabber\Biorosva\autoexec_*.ini
Safe=CLC Icons CLUI CList Skin SkinSounds TopToolBar
Unsafe=Facebook GG ICQ IRC JABBER SKYPE TWITTER VKontakte
OnCreateFilename=
Warn=none
OnCompletion=recycle
RenamePrefix=imported_

[PluginLoader]
AskAboutIgnoredPlugins=0

[Language]
DefaultLanguage=

[Interface]
DpiAware=0
 

Offline dartraiden

Re: Всплывающее окно pu_stub.exe
« Reply #8 on: 04 08 2022, 23:11:00 »
Воспроизвести ситуацию на чистой системе не удалось

- положил базу Biorosva.dat и инишку в C:\Users\user\AppData\Roaming\Jabber\Biorosva
- положил Миранду на рабстол
- в mirandaboot.ini вставил указанные строки

При запуске Миранда никаких дополнительных прав не запрашивает, инишка втянулась в базу и стёрлась без вопросов.

Получается, что, с одной стороны, в системе что-то натюнинговано так, что у пользователя нет прав, чтобы стереть файл у себя в профиле. С другой стороны, тогда Миранда бы не могла в свою собственную базу писать без поднятия прав, ведь база лежит рядом с инишкой.
« Last Edit: 04 08 2022, 23:19:29 by dartraiden »
 

Offline Balbes

  • Newbie
  • *
  • Posts: 6
Re: Всплывающее окно pu_stub.exe
« Reply #9 on: 05 08 2022, 05:45:23 »
Вчера весь день экспериментировал. А итоге:
Если файлы программы запускать с пространства пользователя - то всё работает без проблем, когда файлы программы запускаются из "Programm Files" - выскакивает это окно и если не нажать "Да", то не удаляется файл autoexec_*.ini.
Вся моя возня с файлом pu_stub.exe (правка манифеста и/или добавление прав пользователю на файл) результатов не дала. Результат появляется (не выскакивает это окно и удаляется файл autoexec_*.ini) если добавить права на запись пользователю на файл "Miranda64.exe".
В старой версии программы всё работает без этих прав. В новой версии - не хочет. Чтобы при обновлении настроек из файла autoexec_*.ini его потом удалить - требуется дать права. Пока файла autoexec_*.ini в профиле пользователя нет - права не просит.
А проблема актуальна. Я пробовал на пользователе с правами администратора. Но если это будет обычный пользователь (а это практически все), то каждый раз надо будет подключаться и вводить админский пароль.
 

Offline dartraiden

Re: Всплывающее окно pu_stub.exe
« Reply #10 on: 05 08 2022, 10:25:00 »
А вот теперь таки воспроизвелось.

Quote
В старой версии программы всё работает без этих прав.
Это понятно - старая версия вообще не умеет стирать инишку, если не хватает прав. Новая версия умеет запрашивать права, но, видимо, права запрашиваются всегда, когда Миранда установлена в Program Files и подобные места (а должны запрашиваться не на основании того, куда установлено, а на основании того, получается ли стереть инишку).

https://github.com/miranda-ng/miranda-ng/issues/3143
« Last Edit: 05 08 2022, 10:32:23 by dartraiden »
 

Offline dartraiden

Re: Всплывающее окно pu_stub.exe
« Reply #11 on: 05 08 2022, 16:20:32 »
В общем, проблема оказалсь в чём - весь этот код, который через pu_stub запрашивает поднятие прав, изначально писался сугубо для нужд апдейтера, т.е. чисто для работы в корневом каталоге Миранды. В 0.96.1 мы кусок кода перетащили из апдейтера в ядро и приспособили ещё и для того, чтобы запрашивать права для удаления инишек, которые лежат в PF и прочих местах, куда юзер по умолчанию писать не может.

Но происхождение кода даёт о себе знать, и он продолжал думать, что дело происходит в корне :) А раз Миранда установлена в PF и корень недоступен для записи, то код запрашивал повышение прав, пусть в реальности оно и не требовалось.

Исправлено, фикс портирован в стаблю.
 
The following users thanked this post: Balbes