Вы должны войти, чтобы создавать сообщения и темы.

Создание Portable программы

◄Страница 2 из 3►
Цитата: Mikhail от 25.08.2022, 18:42

Привет.
У вас тоже в рег файле СкопированоHKEY_USERS\S-1-5-21-3059127735-1346336193-714424541-1001.

Я только в .ini-файлике заменил на СкопированоHKCU, поскольку программа при работе всё равно в СкопированоHKEY_USERS\S-1-5-21-3059127735-1346336193-714424541-1001 создаёт ветку реестра, даже если в .reg прописать СкопированоHKCU. Пока не пойму, как от этого избавиться.

Ну да HKCU(текущий пользователь) и HKEY_USERS(Все) это одно и тоже, только брать надо реестр с текущего, то есть HKCU, если удалить запись из HKCU, то удалиться и из HKEY_USERS.

Лайкнул Андрей
Андрей
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн
Цитата: Mikhail от 25.08.2022, 18:50

Ну да HCKU(текущий пользователь) и HKEY_USERS(Все) это одно и тоже, только брать надо реестр с текущего, то есть HKCU, если удалить запись из HKCU, то удалиться и из HKEY_USERS.

Понял. Спасибо за совет, исправил! Я это сразу заметил, просто не увидел разницы и оставил .reg-файлик в покое. 🙂
А как быть вот с этой ситуацией? Помимо актуальной ветки для программы, создаётся и оригинальная, которая лежала в СкопированоC:\Programm Files (x86).

Андрей, здравствуйте, не подскажете, пожалуйста, где я могу глянуть, как сделать лаунчер распаковки портабл, как у вас?)

Лайкнул Lega77
Lega77
Цитата: Алик от 25.08.2022, 19:07

Андрей, здравствуйте, не подскажете, пожалуйста, где я могу глянуть, как сделать лаунчер распаковки портабл, как у вас?)

Привет! Честно говоря, делаю самым топорным образом. Это лаунчер, который я увидел в портативных версиях Хачатура. Обычный SFX-архив. Запаковываешь свою программу в SFX, далее открываешь .exe'шник с помощью Resource Hacker, и редактируешь необходимое окошко. У меня вот такое содержание:

STARTDLG DIALOG 27, 47, 321, 69
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Распаковка Portable SmartPSS"
LANGUAGE LANG_RUSSIAN, 0x0
FONT 8, "MS Shell Dlg 2"
{
   CONTROL "", 102, COMBOBOX, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 9, 23, 196, 22 
   CONTROL "Обзор...", 103, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 208, 22, 41, 14 
   CONTROL "Укажите каталог, в который следует поместить папку Portable SmartPSS", 110, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 9, 6, 252, 9 
   CONTROL "Прогресс распаковки:", 107, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 9, 39, 81, 8 
   CONTROL "", 106, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 9, 50, 304, 10 
   CONTROL "Распаковать", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 252, 22, 61, 14 
}

В строке каждого CONTROL'а, самые правые числовые значения - это размер контрола. Если, например, ты заменишь Portable SmartPSS на что-нибудь длиннее, то оно в эти рамки не влезет, надо будет указывать ширину уже не 252, а больше. Ну, сам разберёшься. Далее просто компилируешь и сохраняешь. Если накосячишь - Resource Hacker создаёт бэкап оригинального файла, рядом с изменённым.

Лайкнул Алик
Алик

Спасибо большое!

Цитата: Алик от 25.08.2022, 19:07

Андрей, здравствуйте, не подскажете, пожалуйста, где я могу глянуть, как сделать лаунчер распаковки портабл, как у вас?

Да тут на форуме не раз кидали видео от Хачатура.

Цитата: Андрей от 25.08.2022, 19:02

А как быть вот с этой ситуацией? Помимо актуальной ветки для программы, создаётся и оригинальная, которая лежала в СкопированоC:\Programm Files (x86).

Чета я не понял, что где создается, в одной же ветке все, да и ладно, все заберет, все и вернет.
У меня созданный виртуальным(не люблю когда таскает папки туда, сюда по системе) + C#, реестр изолирован, я не заморачивался, муха даже не пролетит туда.

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Привет, Миш!
Я о том, что в .reg-файле изначально указана лишь ветка реестра СкопированоHKEY_CURRENT_USER\Software\Trolltech\Qt Plugin Cache 4.8.false\C:\Program Files (x86)\..., в которой отражён путь, куда программа была установлена, и он её же тянет в реестр (что логично), но создаётся в в этой же ветке ещё и другая - СкопированоD:\Apps\ и так далее (как бы транслируя путь, в котором сейчас лежит программа). По сути - хрен бы с ними, по завершении программы - из реестра всё это вычищается, но просто интересно, есть ли возможность избегать таких приколов (например, как-нибудь в реестре указать относительный путь)?

Понял, это первый софт такой который так делает, поэтому я и сказал в первом сообщение когда сделал, противный софт немного, поэтому я его решил просто завернуть в контейнер виртуальный и не париться.

Ты вообще в след раз если софт не настраиваешь, то и reg файл не нужно кидать в settings, только в ini файле запись оставь, откуда ему брать реестр и все. На Пк человека для которого делал, реестр после того как человек настроит, сам экспортируется(после завершение программы) в нужном виде и для его ПК в папку Data\settings.

Лайкнули XpucT, Андрей и Алик
XpucTАндрейАлик
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Привет✌️
Учусь делать портативки. Я уже сделал программу по видео Хачатура (через ThinApp) и все вроде работает, но один файл по пути C:\Windows\Prefetch все же есть. Как сделать так, чтобы он сохранялся в папку рядом с портативной программой? Так же хотелось бы узнать как проверить реестр на наличие мусорных записей.

Flamer, привет 🖐
ThinApp точно не оставляет ничего в реестре, ибо не может, т.к. полностью виртуализирован.
А вот данные в папке Prefetch не просто не обязательно, а не нужно трогать.

Эта папка служит для кэширования ранее запущенных программ, чтобы открывались быстрее. Нужная это услуга или медвежья – другая история. Главное, что к Твоей портативке эта папка не имеет никакого отношения. То есть трогать его не нужно.

Лайкнули Aleksey, Flamer и ещё 2
AlekseyFlamerУдаленный пользовательАлик
В любой непонятной ситуации переходи на beta  © Win 10 Tweaker

Понял, спасибо за ответ.
Хотел бы задать еще пару вопросов. MIUICacheDel во время сборки портативки самостоятельно встраивается в ехе-файл? Спрашиваю ибо в видео было сказано, что в папку Project можно кинуть любой vbs скрипт, а вот присутствует он в портативной программе или нет я так и не понял.
Это нормально что вес всего проекта 960 КБ, а собранная портативная программа весит целых 4,9 МБ? Различные %папки% почистил если что. И есть ли какие-то рекомендации по созданию портативных приложений скачанных с microsoft store? Или процесс ничем не отличается от обычной ехе программы?

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

Добрый🖐.
Это же виртуализированный portable, а значит запуск при входе пишется в виртуальный реестр, а не в реальный, закинь в планировщик сам или через твикер.

Цитата: Flamer от 03.09.2022, 18:45

MIUICacheDel во время сборки портативки самостоятельно встраивается в ехе-файл?

При сборке встраивается.

Это нормально что вес всего проекта 960 КБ, а собранная портативная программа весит целых 4,9 МБ?

Давно не пользовался ThinApp, но да, нормально, контейнер (exe файл) тоже имеет вес.
Справка по ThinApp, там есть все, как использовать vbs и прочее.

Лайкнул Flamer
Flamer
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн
◄Страница 2 из 3►