Программа для создания портативных версий приложений
Цитата: Никита от 24.04.2023, 18:08Mikhail, хорошо сегодня попробую добавить. Но, опять таки... Тут стоит обратить внимание на 2 момента.
Первый: Ключи которые являются файлом *.reg в папке Data\Реестр уже сейчас успешно удаляются после завершения работы портативки.
Второй: При переносе портативки на другой ПК, виртулаку или нового пользователя, ключи, которые имеют структуру HKEY_USERS\S1-*****\ будут НЕ удалены из реестра . Их нужно будет на каждом новом устройстве прописывать в файл вручную по новой. Если брать реализацию по типу записи ключей в файл.
Mikhail, хорошо сегодня попробую добавить. Но, опять таки... Тут стоит обратить внимание на 2 момента.
Первый: Ключи которые являются файлом *.reg в папке Data\Реестр уже сейчас успешно удаляются после завершения работы портативки.
Второй: При переносе портативки на другой ПК, виртулаку или нового пользователя, ключи, которые имеют структуру HKEY_USERS\S1-*****\ будут НЕ удалены из реестра . Их нужно будет на каждом новом устройстве прописывать в файл вручную по новой. Если брать реализацию по типу записи ключей в файл.
Цитата: ЯR от 24.04.2023, 19:08Никита, как себя будет вести ланчер при следующем запуске после аварийного завершения работы системы: света ушла или системный сбой, повлекший за собой перезагрузку ОС? Имеется ли какая-то проверка уже существующих линков и ключей реестра?
Никита, как себя будет вести ланчер при следующем запуске после аварийного завершения работы системы: света ушла или системный сбой, повлекший за собой перезагрузку ОС? Имеется ли какая-то проверка уже существующих линков и ключей реестра?
Цитата: Mikhail от 25.04.2023, 11:57ЯR, А там вроде и не нужно проверять, в реестре если запись есть/осталась, то он ее дополнит, если были изменения в папке/файле "Реестр", иначе просто запуститься с настройками из реестра.
Симлинки, то же самое, они сохраняются и при след запуске, никак не заменяются(они уже дублируют друг друга) и продолжают использоваться, при закрытии все соберется.
ЯR, А там вроде и не нужно проверять, в реестре если запись есть/осталась, то он ее дополнит, если были изменения в папке/файле "Реестр", иначе просто запуститься с настройками из реестра.
Симлинки, то же самое, они сохраняются и при след запуске, никак не заменяются(они уже дублируют друг друга) и продолжают использоваться, при закрытии все соберется.
Цитата: Mikhail от 25.04.2023, 12:23Цитата: Никита от 24.04.2023, 18:08Mikhail, хорошо сегодня попробую добавить. Но, опять таки... Тут стоит обратить внимание на 2 момента.
Первый: Ключи которые являются файлом *.reg в папке Data\Реестр уже сейчас успешно удаляются после завершения работы портативки.
Второй: При переносе портативки на другой ПК, виртулаку или нового пользователя, ключи, которые имеют структуру HKEY_USERS\S1-*****\ будут НЕ удалены из реестра . Их нужно будет на каждом новом устройстве прописывать в файл вручную по новой. Если брать реализацию по типу записи ключей в файл.А почему второй вариант ломается?
Добавил удаление разделов, считывает из txt, удаляет из любого куста.
Я себе скомпилировал, выкладывать не буду, просто я не дождался=)
Поделюсь кодом, как сделал.
[spoiler title="Код"]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{ } }[/spoiler]
Цитата: Никита от 24.04.2023, 18:08Mikhail, хорошо сегодня попробую добавить. Но, опять таки... Тут стоит обратить внимание на 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{ }
}
Цитата: Никита от 25.04.2023, 13:28Mikhail, Привет!
Если ты пропишешь в файле, что нужно удалить ключ с папкой пользователя, которая прописана в реестре, как хеш (скрин)
То на другой системе этот хеш уже будет отличаться и ничего не удалится.
Mikhail, Привет!
Если ты пропишешь в файле, что нужно удалить ключ с папкой пользователя, которая прописана в реестре, как хеш (скрин)
То на другой системе этот хеш уже будет отличаться и ничего не удалится.
Цитата: Mikhail от 25.04.2023, 13:30Никита, Привет, ну это понятно, я не совсем понял зачем вообще пользоваться
HKEY_USERS, когда естьHKCU.
Никита, Привет, ну это понятно, я не совсем понял зачем вообще пользоваться СкопированоHKEY_USERS, когда есть СкопированоHKCU.
Цитата: Никита от 25.04.2023, 13:44Цитата: Mikhail от 25.04.2023, 13:30Никита, Привет, ну это понятно, я не совсем понял зачем вообще пользоваться
HKEY_USERS, когда естьHKCU.Так ты это скажи программам, которые туда прописывают данные изначально))Тот же Infix PDF.
Поэтому я и добавил замену HKU на HKCU в лончер перед импортом, чтобы на всех компах портативки могли экспортировать и удалить ключи.
Цитата: Mikhail от 25.04.2023, 13:30Никита, Привет, ну это понятно, я не совсем понял зачем вообще пользоваться
СкопированоHKEY_USERS, когда естьСкопированоHKCU.
Так ты это скажи программам, которые туда прописывают данные изначально))Тот же Infix PDF.
Поэтому я и добавил замену HKU на HKCU в лончер перед импортом, чтобы на всех компах портативки могли экспортировать и удалить ключи.
Цитата: Mikhail от 25.04.2023, 13:46Так HKU и есть HKCU👀, все что в HKU, оно, автоматом в HKCU, удалил что-то из HKU, удалилось и из HKCU.
Нет нужды в HKU вообще.
Так HKU и есть HKCU👀, все что в HKU, оно, автоматом в HKCU, удалил что-то из HKU, удалилось и из HKCU.
Нет нужды в HKU вообще.
Цитата: Никита от 25.04.2023, 14:00Mikhail, буду дома перепроверю.
Но у меня вроде было так:
Infix PDF создал всё в HKU...
А в HKCU было вроде пусто.
Соответственно, если мне нужно удалить ключи из HKU, я не смогу этого сделать без указания хеша пользователя.
Или я "в глаза долбился" и при создании ключей в HKU они же автоматически создаются и в HKCU ?
И ты написал "удалил что-то из HKU, удалилось и из HKCU."
В том и дело, что оно не удалится из HKU на другом ПК Или с другим юзером. Вот о чём Я
Mikhail, буду дома перепроверю.
Но у меня вроде было так:
Infix PDF создал всё в HKU...
А в HKCU было вроде пусто.
Соответственно, если мне нужно удалить ключи из HKU, я не смогу этого сделать без указания хеша пользователя.
Или я "в глаза долбился" и при создании ключей в HKU они же автоматически создаются и в HKCU ?
И ты написал "удалил что-то из HKU, удалилось и из HKCU."
В том и дело, что оно не удалится из HKU на другом ПК Или с другим юзером. Вот о чём Я
Цитата: Mikhail от 25.04.2023, 14:07Цитата: Никита от 25.04.2023, 14:00и при создании ключей в HKU они же автоматически создаются и в HKCU ?
Я выше видео записывал, когда разделы не удалялись, у меня там все в HKCU, и в TU убран из сканирования HKU.
Цитата: Никита от 25.04.2023, 14:00и при создании ключей в HKU они же автоматически создаются и в HKCU ?
Я выше видео записывал, когда разделы не удалялись, у меня там все в HKCU, и в TU убран из сканирования HKU.
Цитата: Mikhail от 25.04.2023, 14:18Цитата: Никита от 25.04.2023, 14:00И ты написал "удалил что-то из HKU, удалилось и из HKCU."
Перепутал, извини, наоборот, когда из HKCU удаляешь, удаляется и из HKU.
Цитата: Никита от 25.04.2023, 14:00И ты написал "удалил что-то из HKU, удалилось и из HKCU."
Перепутал, извини, наоборот, когда из HKCU удаляешь, удаляется и из HKU.
Цитата: Никита от 25.04.2023, 16:11Цитата: 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 от 25.04.2023, 14:18Цитата: Никита от 25.04.2023, 14:00И ты написал "удалил что-то из HKU, удалилось и из HKCU."
Перепутал, извини, наоборот, когда из HKCU удаляешь, удаляется и из HKU.
Перепроверил и как оказалось, да. При установке программы и при работе HKCU\Software дублирует ключи в HKU\S-1-***\Software, а у меня в свою очередь в TotalUninstall было включено сканирование HKU и не было включено сканирование HKCU. В таком случае. Значит и всем нужно порекомендовать в настройках TotalUninstall выставить нужные параметры поиска. И тогда не нужно париться по поводу этих хешей. Ух, спасибо, что натолкнул на эти поиски.