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

Программа для создания портативных версий приложений

1◄Страница 5 из 43► 43

Никита, Да, ключей), я уже все, голова не варит.

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

Mikhail, хорошо сегодня попробую добавить. Но, опять таки... Тут стоит обратить внимание на 2 момента.
Первый: Ключи которые являются файлом *.reg в папке Data\Реестр уже сейчас успешно удаляются после завершения работы портативки.
Второй: При переносе портативки на другой ПК, виртулаку или нового пользователя, ключи, которые имеют структуру HKEY_USERS\S1-*****\ будут НЕ удалены из реестра . Их нужно будет на каждом новом устройстве прописывать в файл вручную по новой. Если брать реализацию по типу записи ключей в файл.

Никита, как себя будет вести ланчер при следующем запуске после аварийного завершения работы системы: света ушла или системный сбой, повлекший за собой перезагрузку ОС? Имеется ли какая-то проверка уже существующих линков и ключей реестра?

Лайкнули shim, Антон и Сергей
shimАнтонСергей
Лучший способ помочь себе — помогать другим.

ЯR, А там вроде и не нужно проверять, в реестре если запись есть/осталась, то он ее дополнит, если были изменения в папке/файле "Реестр", иначе просто запуститься с настройками из реестра.
Симлинки, то же самое, они сохраняются и при след запуске, никак не заменяются(они уже дублируют друг друга) и продолжают использоваться, при закрытии все соберется.

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

Mikhail, хорошо сегодня попробую добавить. Но, опять таки... Тут стоит обратить внимание на 2 момента.
Первый: Ключи которые являются файлом *.reg в папке Data\Реестр уже сейчас успешно удаляются после завершения работы портативки.
Второй: При переносе портативки на другой ПК, виртулаку или нового пользователя, ключи, которые имеют структуру HKEY_USERS\S1-*****\ будут НЕ удалены из реестра . Их нужно будет на каждом новом устройстве прописывать в файл вручную по новой. Если брать реализацию по типу записи ключей в файл.

А почему второй вариант ломается?
Добавил удаление разделов, считывает из txt, удаляет из любого куста.
Я себе скомпилировал, выкладывать не буду, просто я не дождался=)
Поделюсь кодом, как сделал.

Код

string regFilePath = @"Data\RegDel.txt";
string[] regKeys = File.ReadAllLines(regFilePath);
foreach (string regKey in regKeys)
{
    try
    {
        Process process2 = new Process();
        process2.StartInfo.FileName = "reg.exe";
        process2.StartInfo.Arguments = string.Format("delete \"{0}\" /f", regKey);
        process2.StartInfo.UseShellExecute = false;
        process2.StartInfo.RedirectStandardOutput = true;
        process2.StartInfo.CreateNoWindow = true;

        process2.Start();
        process2.WaitForExit();
    }
    catch{ }
}

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

Mikhail, Привет!
Если ты пропишешь в файле, что нужно удалить ключ с папкой пользователя, которая прописана в реестре, как хеш (скрин)
То на другой системе этот хеш уже будет отличаться и ничего не удалится.

Никита, Привет, ну это понятно, я не совсем понял зачем вообще пользоваться СкопированоHKEY_USERS, когда есть СкопированоHKCU.

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

Никита, Привет, ну это понятно, я не совсем понял зачем вообще пользоваться СкопированоHKEY_USERS, когда есть СкопированоHKCU.

Так ты это скажи программам, которые туда прописывают данные изначально))Тот же Infix PDF. 
Поэтому я и добавил замену HKU на HKCU в лончер перед импортом, чтобы на всех компах портативки могли экспортировать и удалить ключи.

Так HKU и есть HKCU👀, все что в HKU, оно, автоматом в HKCU, удалил что-то из HKU, удалилось и из HKCU.
Нет нужды в HKU вообще.

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

Mikhail, буду дома перепроверю.
Но у меня вроде было так:
Infix PDF создал всё в HKU...
А в HKCU было вроде пусто. 
Соответственно, если мне нужно удалить ключи из HKU, я не смогу этого сделать без указания хеша пользователя.
Или я "в глаза долбился" и при создании ключей в HKU они же автоматически создаются и в HKCU ?
И ты написал "удалил что-то из HKU, удалилось и из HKCU."
В том и дело, что оно не удалится из HKU на другом ПК Или с другим юзером. Вот о чём Я

Цитата: Никита от 25.04.2023, 14:00

и при создании ключей в HKU они же автоматически создаются и в HKCU ?

Я выше видео записывал, когда разделы не удалялись, у меня там все в HKCU, и в TU убран из сканирования HKU.

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

И ты написал "удалил что-то из HKU, удалилось и из HKCU."

Перепутал, извини, наоборот, когда из HKCU удаляешь, удаляется и из HKU.

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

ЯR, Привет!
Михаил предельно точно ответил на твой вопрос! За что ему спасибо

Лайкнул ЯR
ЯR
Цитата: Mikhail от 25.04.2023, 14:18
Цитата: Никита от 25.04.2023, 14:00

И ты написал "удалил что-то из HKU, удалилось и из HKCU."

Перепутал, извини, наоборот, когда из HKCU удаляешь, удаляется и из HKU.

Перепроверил и как оказалось, да. При установке программы и при работе HKCU\Software дублирует ключи в HKU\S-1-***\Software, а у меня в свою очередь в TotalUninstall было включено сканирование HKU и не было включено сканирование HKCU. В таком случае. Значит и всем нужно порекомендовать в настройках TotalUninstall выставить нужные параметры поиска. И тогда не нужно париться по поводу этих хешей. Ух, спасибо, что натолкнул на эти поиски.

Лайкнул Mikhail
Mikhail
1◄Страница 5 из 43► 43