Ассоциация файлов в портативной программе
Цитата: Никита от 02.12.2021, 18:53Записал данный параметр но, к сожалению, не вышло. Уже пробовал и в кавычки брать путь реестра...
Записал данный параметр но, к сожалению, не вышло. Уже пробовал и в кавычки брать путь реестра...
Цитата: Mikhail от 03.12.2021, 01:52Привет.
А зачем winrar делать portable, если он и так portable, установите на виртуалку, и заберите папку с winrar`ом на хост, все готово).
Если что-то не хочет удаляться стандартными методами, а тем более с HKLM реестра, то нужно создавать Custom.nsh в папке Launcher проекта и поместить туда код.
[spoiler title="Код"]${SegmentFile} ${Segment.OnInit} System::Call "kernel32::GetCurrentProcess()i.s" System::Call "kernel32::IsWow64Process(is,*i.r0)" StrCmp $0 0 +2 SetRegView 64 !macroend ${SegmentPrePrimary} SetRegView 64 SetRegView LastUsed !macroend ${SegmentPostPrimary} SetRegView 64 DeleteRegKey HKLM `SOFTWARE\WinRAR` Pop $0 SetRegView LastUsed !macroend[/spoiler]
Пересобрать проект.
А так читайте справку на portableapps.
Привет.
А зачем winrar делать portable, если он и так portable, установите на виртуалку, и заберите папку с winrar`ом на хост, все готово).
Если что-то не хочет удаляться стандартными методами, а тем более с HKLM реестра, то нужно создавать Custom.nsh в папке Launcher проекта и поместить туда код.
${SegmentFile}
${Segment.OnInit}
System::Call "kernel32::GetCurrentProcess()i.s"
System::Call "kernel32::IsWow64Process(is,*i.r0)"
StrCmp $0 0 +2
SetRegView 64
!macroend
${SegmentPrePrimary}
SetRegView 64
SetRegView LastUsed
!macroend
${SegmentPostPrimary}
SetRegView 64
DeleteRegKey HKLM `SOFTWARE\WinRAR`
Pop $0
SetRegView LastUsed
!macroend
Пересобрать проект.
А так читайте справку на portableapps.
Цитата: Никита от 08.12.2021, 12:34Здравствуйте! Разрешите ещё уточнить? К примеру, некая программа после установки создаёт в каталоге C:\Users\Public\Documents\ProgrammaInfo файл license.log. Хорошо, думаю я, запишу в Programma.ini такую сточку: ProgrammaInfo="C:\Users\Public\Documents\Programma", а в папку DefaultData скопирую папку ProgrammaInfo с файлом license.log. Но, по неизведанным мне причинам, при запуске портативная программа создаёт пустой каталог C:\Users\Public\Documents\ProgrammaInfo, то есть без файла license.log, из-за чего программа выдаёт ошибку при запуске об отсутствии файла license.log. Можно ли в Programma.ini дописать к ProgrammaInfo="C:\Users\Public\Documents\Programma" такое, что копировало бы из DefaultData файл license.log?
Здравствуйте! Разрешите ещё уточнить? К примеру, некая программа после установки создаёт в каталоге C:\Users\Public\Documents\ProgrammaInfo файл license.log. Хорошо, думаю я, запишу в Programma.ini такую сточку: ProgrammaInfo="C:\Users\Public\Documents\Programma", а в папку DefaultData скопирую папку ProgrammaInfo с файлом license.log. Но, по неизведанным мне причинам, при запуске портативная программа создаёт пустой каталог C:\Users\Public\Documents\ProgrammaInfo, то есть без файла license.log, из-за чего программа выдаёт ошибку при запуске об отсутствии файла license.log. Можно ли в Programma.ini дописать к ProgrammaInfo="C:\Users\Public\Documents\Programma" такое, что копировало бы из DefaultData файл license.log?
Цитата: Mikhail от 08.12.2021, 12:58Добрый🖐.
Сделать можно все через [FilesMove], если я правильно понял.
Почитайте справку, там все есть, через переводчик, все довольно понятно.
Добрый🖐.
Сделать можно все через [FilesMove], если я правильно понял.
Почитайте справку, там все есть, через переводчик, все довольно понятно.
Цитата: Никита от 08.12.2021, 13:14Спасибо за инструкцию! То есть как будет правильно выглядеть запись?)
Спасибо за инструкцию! То есть как будет правильно выглядеть запись?)
Цитата: Mikhail от 08.12.2021, 13:29Ну так я не знаю какой способ вам нужен, поэтому инструкцию дал, выберите что вам подходит, какой метод, может вам [DirectoriesMove] нужен, тогда можно сделать типа, ProgrammaInfo=C:\Users\Public\Documents\ProgrammaInfo только под шапкой [DirectoriesMove], или гуглить %PAL, о чем Хачатур в своих видео говорил, что это будет уже сложно.
Если [FilesMove], тут, то же самое почти, только файл блаблабла.txt=%переменная%\куда то\сюда то\положить... можете открывать чужие сборки и смотреть как они делают, тоже хорошо помогает на начале.
Ну так я не знаю какой способ вам нужен, поэтому инструкцию дал, выберите что вам подходит, какой метод, может вам [DirectoriesMove] нужен, тогда можно сделать типа, ProgrammaInfo=C:\Users\Public\Documents\ProgrammaInfo только под шапкой [DirectoriesMove], или гуглить %PAL, о чем Хачатур в своих видео говорил, что это будет уже сложно.
Если [FilesMove], тут, то же самое почти, только файл блаблабла.txt=%переменная%\куда то\сюда то\положить... можете открывать чужие сборки и смотреть как они делают, тоже хорошо помогает на начале.
Цитата: Никита от 08.12.2021, 13:37Вот если мы используем [FilesMove], то пишем license.log="C:\Users\Public\Documents\ProgrammaInfo"?
Вот если мы используем [FilesMove], то пишем license.log="C:\Users\Public\Documents\ProgrammaInfo"?
Цитата: Mikhail от 08.12.2021, 13:41Да.
Да.
Цитата: Никита от 08.12.2021, 14:53А вы не знаете, чем можно раскодировать *.dat-файл, который состоит из текста? Открывая этот файл в Notepad++, получаю всякие иероглифы.
А вы не знаете, чем можно раскодировать *.dat-файл, который состоит из текста? Открывая этот файл в Notepad++, получаю всякие иероглифы.
Цитата: Mikhail от 08.12.2021, 15:00Там зашифрованные данные, dat формат вообще может быть чем угодно, любым расширением, прочесть его не так-то просто и даже нереально, не могу подсказать чем раскодировать, но я думаю это невозможно. Можно поискать какой-нибудь экстрактор, но думаю и он не справится.
Вообще под каждый dat формат нужно создавать свой экстрактор для извлечения, сканировать и писать софт под него, но для начала нужно узнать кто он на самом деле и что хранит в себе
Там зашифрованные данные, dat формат вообще может быть чем угодно, любым расширением, прочесть его не так-то просто и даже нереально, не могу подсказать чем раскодировать, но я думаю это невозможно. Можно поискать какой-нибудь экстрактор, но думаю и он не справится.
Вообще под каждый dat формат нужно создавать свой экстрактор для извлечения, сканировать и писать софт под него, но для начала нужно узнать кто он на самом деле и что хранит в себе
Цитата: Никита от 08.12.2021, 15:13Понял...Просто пытаюсь сбросить триальный период программы - а он содержится в файлах license.log и license.dat. Чистка license.log результатов не принесла. Вся соль в license.dat. Изменил системное время, сместив его на 2020 год, и теперь "триальный период истёк". Хм...
Понял...Просто пытаюсь сбросить триальный период программы - а он содержится в файлах license.log и license.dat. Чистка license.log результатов не принесла. Вся соль в license.dat. Изменил системное время, сместив его на 2020 год, и теперь "триальный период истёк". Хм...
Цитата: Mikhail от 08.12.2021, 15:19Мне давно помогал софт Registry Trash Keys Finder, очень хорошо это делал тогда, триальные ключи обычно в реестре лежат. Можете попробовать.
Мне давно помогал софт Registry Trash Keys Finder, очень хорошо это делал тогда, триальные ключи обычно в реестре лежат. Можете попробовать.
Цитата: Никита от 08.12.2021, 15:28Программа портативная. Никаких ключей в реестре не создаёт - проверил не один раз)
Программа портативная. Никаких ключей в реестре не создаёт - проверил не один раз)
Цитата: Никита от 08.12.2021, 15:32И программа вредна тем, что не хочет запускаться в VirtualBox! Пишет, мол, "меня нельзя запустить в виртуалке". Ах, если б это можно было обойти...
И программа вредна тем, что не хочет запускаться в VirtualBox! Пишет, мол, "меня нельзя запустить в виртуалке". Ах, если б это можно было обойти...