Очень быстрое восстановление работоспособности Skype после отказа логина с сохранением всех данных
Сбои в Skype продолжаются - опять Skype теряет соединение с сервером. Причем, судя по тому что это происходит с достаточно предсказуемой периодичностью(практически раз в месяц) - то это очень похоже на преднамеренное желание Microsoft прекратить работу со старыми версиями Skype в Windows. Это тем более подкрепляется тем, что Skype на других платформах(Android, iOS, Symbian) продолжает работать в то же самое время.
Что же делать если произойдёт такой же сбой? В последнем дополнении к предыдущей статье цикла был уже указан один способ - но в том случае терялись кэшированные данные, а с самого сервера Skype они могут считываться и не полностью(есть такая проблема :( ). Пришлось поисследовать проблему - и получилось решить её с сохранением всех данных.
Какая же была основная проблема? Она состояла в том, что Skype с теми данными, что были у неё закэшированы, не могла логиниться на сервере Skype. Вероятно можно найти те параметры в данных Skype, которые надо изменить чтобы она снова логинилась - но зачем это делать есть версия программы Skype которая сама исправит их в автоматическом режиме :) .
Итак последовательность действий такова:
0. Заранее загружаем с трекера rutracker.org программу Skype 3.2.0.175 [2007, MULTILANG +RUS] Portable (работает в Windows 8) . Не буду давать прямую ссылку, она легко находится поиском по трекеру. Пусть лежит до момента аварии основной версии Skype.
1. В случае аварии полностью завершаем работу Skype. Достаточно удобно сделать это с помощью программы Process Killer, работу с которой я подробно рассматривал раньше. Ну или стандартной программой TaskManager(Диспетчер задач Windows). Прекращаем работу программ Skype.exe и SkypePM.exe.
2. Распаковываем предварительно скачанную портабельную версию Skype 3.2.0.175.
3. Копируем все данные профиля Skype из каталога C:\Documents and Settings\%USER%\Application Data\Skype\, где %USER% - это Ваш текущий логин в системе(C:\Users\%USER%\AppData\Roaming\Skype\ в Windows7) в подкаталог profile портабельной версии.
4. Запускаем портабельную версию Skype путём исполнения файла skype.cmd в корне каталога портабельной версии Skype.
5. Залогиниваемся на сервере Skype со своим именем и паролем.
6. Завершаем работу портабельной версии Skype.
7. Стираем все данные в каталоге C:\Documents and Settings\%USER%\Application Data\Skype\(C:\Users\%USER%\AppData\Roaming\Skype\ в Windows7) и копируем в этот каталог данные из подкаталога profile портабельной версии.
8. Запускаем основную версию Skype. Теперь подключение к серверу Skype с тем же логином и паролем происходит нормально.
UPD: Если Вам надоело каждый месяц данные Skype "туда-обратно", то можно применить метод, описанный в этой статье. Для этого:
0. Смотрим какая используется версия Skype(в меню выбираем Помощь -> О программе). Запоминаем её.
1. Завершаем работу Skype. Выгружаем skype.exe(и skypePM.exe - если есть) из памяти - например методом описанным в статье Как крайне просто манипулировать программами.
2. Идём у каталог, где расположена skype.exe. Делаем резервную копию программы.
3. Любым хекс-редактором, например WinHEX ищем в файле skype.exe ASCII-строку 0/N, где N - первая цифра версии Skype. Например если версия 3.8.0.188 - то ищем строку 0/3.
4. Изменяем в найденной строке первую строку версию на цифру, которая больше актуальной версии Skype(можно узнать на сайте Skype). Если, например как сейчас, текушая версия 6-я, то ставим цифру 7 или 8. Т.е. в нашем примере меняем цифру 3 на цифру 7. Или 8. Запоминаем результат.
5. Теперь запускаем поправленный skype.exe. Если всё нормально - то он запустится и нормально войдёт в сеть Skype. Или Вы можете получить предупреждение что файл skype.exe повреждён и он не запустится.
Эксперименты показали что нормально исправляются файлы skype.exe из портабельных версий. В остальных случаях skype.exe может и отказаться запускаться после правки. Так что если Вы получили сообщение что файл повреждён - ищите портабельную skype.exe с версией, близкой к Вашему skype.exe и испольщуйте его вместо Вашего.
Теперь skype.exe будет нормально запускать до тех пор, пока сервера skype не посчитают его поправленную версию слишком старой. Тогда повтоярем эти действия ещё раз - но ставим большую цифру версии.