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

Ассоциация файлов в портативной программе

◄Страница 2 из 7► 7

Записал данный параметр но, к сожалению, не вышло. Уже пробовал и в кавычки брать путь реестра...

Привет.
А зачем 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.

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

Здравствуйте! Разрешите ещё уточнить? К примеру, некая программа после установки создаёт в каталоге 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?

Добрый🖐.
Сделать можно все через [FilesMove], если я правильно понял.
Почитайте справку, там все есть, через переводчик, все довольно понятно.

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

Спасибо за инструкцию! То есть как будет правильно выглядеть запись?)

Ну так я не знаю какой способ вам нужен, поэтому инструкцию дал, выберите что вам подходит, какой метод, может вам [DirectoriesMove] нужен, тогда можно сделать типа, ProgrammaInfo=C:\Users\Public\Documents\ProgrammaInfo только под шапкой [DirectoriesMove], или гуглить %PAL, о чем Хачатур в своих видео говорил, что это будет уже сложно. 
Если [FilesMove], тут, то же самое почти, только файл блаблабла.txt=%переменная%\куда то\сюда то\положить... можете открывать чужие сборки и смотреть как они делают, тоже хорошо помогает на начале.

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

Вот если мы используем [FilesMove], то пишем license.log="C:\Users\Public\Documents\ProgrammaInfo"?

Да.

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

А вы не знаете, чем можно раскодировать *.dat-файл, который состоит из текста? Открывая этот файл в Notepad++, получаю всякие иероглифы.

Там зашифрованные данные, dat формат вообще может быть чем угодно, любым расширением, прочесть его не так-то просто и даже нереально, не могу подсказать чем раскодировать, но я думаю это невозможно. Можно поискать какой-нибудь экстрактор, но думаю и он не справится.


Вообще под каждый dat формат нужно создавать свой экстрактор для извлечения, сканировать и писать софт под него, но для начала нужно узнать кто он на самом деле и что хранит в себе

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

Понял...Просто пытаюсь сбросить триальный период программы - а он содержится в файлах license.log и license.dat. Чистка license.log результатов не принесла. Вся соль в license.dat. Изменил системное время, сместив его на 2020 год, и теперь "триальный период истёк". Хм...

Мне давно помогал софт Registry Trash Keys Finder, очень хорошо это делал тогда, триальные ключи обычно в реестре лежат. Можете попробовать.

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

Программа портативная. Никаких ключей в реестре не создаёт - проверил не один раз)

И программа вредна тем, что не хочет запускаться в VirtualBox! Пишет, мол, "меня нельзя запустить в виртуалке". Ах, если б это можно было обойти...

◄Страница 2 из 7► 7