Установка программ на Pocket Navigator PN-4300
Установка программ на Pocket Navigator PN-4300
Заметил, что часто здесь обсуждают вопросы об установке дополнительных программ на разные устройства, а про Pocket Navigator PN-4300 ничего нигде не написано. Это и понятно, так как разработчики не предусмотрели такой возможности, точнее, закрыли ее. Могу однако поделиться соответствующим опытом.
Данной устройство изначально позиционируется исключительно как GPS-навигатор с дополнительными функциями для просмотра мультимедиа. Однако приложив немного усилий из него можно сделать КПК Хотя есть и свои трудности.
Устройство хорошо дружит как с Автоспутником, так и с iGO. Другие навигационные программы пока не пробовал.
Конечно подобная "дороботка" делалась мной на свой страх и риск. Но на навигатор удалось установить помимо штатной программы Автоспутник еще и iGO8, TotalCommander и отличный мультимедиа-проигрыватель TCPMP. Причем все это доступно с полноценного рабочего стола Windows.
Данной устройство изначально позиционируется исключительно как GPS-навигатор с дополнительными функциями для просмотра мультимедиа. Однако приложив немного усилий из него можно сделать КПК Хотя есть и свои трудности.
Устройство хорошо дружит как с Автоспутником, так и с iGO. Другие навигационные программы пока не пробовал.
Конечно подобная "дороботка" делалась мной на свой страх и риск. Но на навигатор удалось установить помимо штатной программы Автоспутник еще и iGO8, TotalCommander и отличный мультимедиа-проигрыватель TCPMP. Причем все это доступно с полноценного рабочего стола Windows.
Для этого понадобится программа удаленного редактирования реестра навигатора. Я пользовался CeRegEditor 0.0.4.4.
1. Подключаем устройство к компьютеру, запускаем на нем ActiveSync. Затем запускаем на PC программу удаленного редактирования реестра.
2. На всякий случай делаем копью реестра (в программе есть такая возможность), чтобы если что, потом можно было восстановиться.
3. Идем в раздел HKEY_LOCAL_MACHINE\init и редактируем строчку Launch50 - заменаем в ней YFShell.exe на Explorer.exe. YFShell.exe - это оболочка, которая рисует 6 стандартных кнопок в окне навигатора. Сохраняем изменения и перезапускаем навигатор (аппаратно, выкл./вкл. питание).
4. После этого навигатор стартует и показывает обычный рабочий стол с двумя иконками My Device и Recycle Bin.
Правда на рабочий стол нельзя просто так положить ярлыки своих программ. То есть можно, но после аппаратной перезагрузки они пропадают, так как содержимое некоторых папок (в том числе Windows\Desktop) зашиты в ROM и перезаписываются.
Я обошел это, написав маленькую программку на Visual Studio 2008 .NET под ARM, которая просто при запуске копирует в папку рабочего стола заранее подготовленные файлы ярлыков из MyFlashDisk\. Программу добавил в ту же секцию автозагрузки HKEY_LOCAL_MACHINE\init, присвоив свободный номер Launch70. Если нужно, могу прислать эту программку - 4.5 Кб. Или ее текст (на "C").
Отмечу, что с реестром нужно все-таки быть аккуратным и не испортить там ничего, следить за правильностью всех вносимых в него букв ))
1. Подключаем устройство к компьютеру, запускаем на нем ActiveSync. Затем запускаем на PC программу удаленного редактирования реестра.
2. На всякий случай делаем копью реестра (в программе есть такая возможность), чтобы если что, потом можно было восстановиться.
3. Идем в раздел HKEY_LOCAL_MACHINE\init и редактируем строчку Launch50 - заменаем в ней YFShell.exe на Explorer.exe. YFShell.exe - это оболочка, которая рисует 6 стандартных кнопок в окне навигатора. Сохраняем изменения и перезапускаем навигатор (аппаратно, выкл./вкл. питание).
4. После этого навигатор стартует и показывает обычный рабочий стол с двумя иконками My Device и Recycle Bin.
Правда на рабочий стол нельзя просто так положить ярлыки своих программ. То есть можно, но после аппаратной перезагрузки они пропадают, так как содержимое некоторых папок (в том числе Windows\Desktop) зашиты в ROM и перезаписываются.
Я обошел это, написав маленькую программку на Visual Studio 2008 .NET под ARM, которая просто при запуске копирует в папку рабочего стола заранее подготовленные файлы ярлыков из MyFlashDisk\. Программу добавил в ту же секцию автозагрузки HKEY_LOCAL_MACHINE\init, присвоив свободный номер Launch70. Если нужно, могу прислать эту программку - 4.5 Кб. Или ее текст (на "C").
Отмечу, что с реестром нужно все-таки быть аккуратным и не испортить там ничего, следить за правильностью всех вносимых в него букв ))
-
- Новенький (0 lvl)
- Сообщения: 1
- Зарегистрирован: Вс окт 05, 2008 12:10
Подход работает, респект автору!!! Теперь навигатор выдает при старте рабочий стол.leshich писал(а):Добавлено: Чт Сен 18, 2008 17:37 Заголовок сообщения:
Для этого понадобится программа удаленного редактирования реестра навигатора. Я пользовался CeRegEditor 0.0.4.4.
1. Подключаем устройство к компьютеру, запускаем на нем ActiveSync. Затем запускаем на PC программу удаленного редактирования реестра.
2. На всякий случай делаем копью реестра (в программе есть такая возможность), чтобы если что, потом можно было восстановиться.
3. Идем в раздел HKEY_LOCAL_MACHINE\init и редактируем строчку Launch50 - заменаем в ней YFShell.exe на Explorer.exe. YFShell.exe - это оболочка, которая рисует 6 стандартных кнопок в окне навигатора. Сохраняем изменения и перезапускаем навигатор (аппаратно, выкл./вкл. питание).
4. После этого навигатор стартует и показывает обычный рабочий стол с двумя иконками My Device и Recycle Bin.
Правда на рабочий стол нельзя просто так положить ярлыки своих программ. То есть можно, но после аппаратной перезагрузки они пропадают, так как содержимое некоторых папок (в том числе Windows\Desktop) зашиты в ROM и перезаписываются.
Я обошел это, написав маленькую программку на Visual Studio 2008 .NET под ARM, которая просто при запуске копирует в папку рабочего стола заранее подготовленные файлы ярлыков из MyFlashDisk\. Программу добавил в ту же секцию автозагрузки HKEY_LOCAL_MACHINE\init, присвоив свободный номер Launch70. Если нужно, могу прислать эту программку - 4.5 Кб. Или ее текст (на "C").
Просьба прислать программку для копирования ярлыков.
И еще вопрос, в какие папки устанавливается IGO, попробую проинсталировать вручную?
2 pir
Думаю, хотя и не поручусь на 100%, что в вашем случае можно проделать аналогичные операции с навигатором и все будет в точности так же, как и на моем. Ведь на обоих стоит один и тот же Windows CE 5.0. Хотя и на своем я всё делал, как говорится, на свой страх и риск, поэтому если есть желание - можете поэкспериментировать
2 Денис Шевченко
Программка для копирования ярлыков очень простенькая. В принципе, для копирования файлов можно наверное обойтись и обычным bat-файлом, хотя я не пробовал.
Вот текст программки на "С". Она (в виде EXE-файла конечно) кладется в папку \MyFlashDisk\Startup и при запуске Windows копирует все файлы *.lnk из папки \MyFlashDisk\Startup\Shortcuts\Desktop на Рабочий стол, и соответсвенно из папки \MyFlashDisk\Startup\Shortcuts\Programs в меню Пуск->Программы.
А вот и сам exe-шник
http://rapidshare.com/files/151819000/startmgr.exe.html
Думаю, хотя и не поручусь на 100%, что в вашем случае можно проделать аналогичные операции с навигатором и все будет в точности так же, как и на моем. Ведь на обоих стоит один и тот же Windows CE 5.0. Хотя и на своем я всё делал, как говорится, на свой страх и риск, поэтому если есть желание - можете поэкспериментировать
2 Денис Шевченко
Программка для копирования ярлыков очень простенькая. В принципе, для копирования файлов можно наверное обойтись и обычным bat-файлом, хотя я не пробовал.
Вот текст программки на "С". Она (в виде EXE-файла конечно) кладется в папку \MyFlashDisk\Startup и при запуске Windows копирует все файлы *.lnk из папки \MyFlashDisk\Startup\Shortcuts\Desktop на Рабочий стол, и соответсвенно из папки \MyFlashDisk\Startup\Shortcuts\Programs в меню Пуск->Программы.
Код: Выделить всё
//---------------------------------------------------------------------------
// common variables
HANDLE handle;
WIN32_FIND_DATA fd;
TCHAR src_path_file[MAX_PATH];
TCHAR dst_path_file[MAX_PATH];
//---------------------------------------------------------------------------
// function declarations
BOOL CopyShortcutsToDesktop(void);
BOOL CopyShortcutsToPrograms(void);
// helper function declarations
BOOL FileExists(LPCWSTR lpFileName);
//---------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
// signal the OS we are started
SignalStarted(_wtol(lpCmdLine));
CopyShortcutsToDesktop();
CopyShortcutsToPrograms();
return 0;
}
//---------------------------------------------------------------------------
// Copy *.lnk files from \MyFlashDisk\Startup\Shortcuts\Desktop\ to \Windows\Desktop\
BOOL CopyShortcutsToDesktop(void)
{
// just exit if nothing to do
handle = FindFirstFile(_T("\\MyFlashDisk\\Startup\\Shortcuts\\Desktop\\*.lnk"), &fd);
if(handle == INVALID_HANDLE_VALUE)
return FALSE;
do
{
if(!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) &&
!(fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
{
// prepare source file+path string
wcscpy(src_path_file, _T("\\MyFlashDisk\\Startup\\Shortcuts\\Desktop\\"));
wcscat(src_path_file, fd.cFileName);
// prepare destination file+path string
wcscpy(dst_path_file, _T("\\Windows\\Desktop\\"));
wcscat(dst_path_file, fd.cFileName);
if(!CopyFile(src_path_file, dst_path_file, FALSE))
{
MessageBox(NULL, _T("Error copying shortcut to folder \'\\Windows\\Desktop\'"),
_T("CopyFile failed"), MB_OK | MB_ICONERROR);
FindClose(handle);
return FALSE;
}
}
} while(FindNextFile(handle, &fd));
FindClose(handle);
return TRUE;
}
//---------------------------------------------------------------------------
// Copy *.lnk files from \MyFlashDisk\Startup\Shortcuts\Programs\ to \Windows\Programs\
BOOL CopyShortcutsToPrograms(void)
{
// just exit if nothing to do
handle = FindFirstFile(_T("\\MyFlashDisk\\Startup\\Shortcuts\\Programs\\*.lnk"), &fd);
if(handle == INVALID_HANDLE_VALUE)
return FALSE;
do
{
if(!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) &&
!(fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
{
// prepare source file+path string
wcscpy(src_path_file, _T("\\MyFlashDisk\\Startup\\Shortcuts\\Programs\\"));
wcscat(src_path_file, fd.cFileName);
// prepare destination file+path string
wcscpy(dst_path_file, _T("\\Windows\\Programs\\"));
wcscat(dst_path_file, fd.cFileName);
if(!CopyFile(src_path_file, dst_path_file, FALSE))
{
MessageBox(NULL, _T("Error copying shortcut to folder \'\\Windows\\Programs\'"),
_T("CopyFile failed"), MB_OK | MB_ICONERROR);
FindClose(handle);
return FALSE;
}
}
} while(FindNextFile(handle, &fd));
FindClose(handle);
return TRUE;
}
//---------------------------------------------------------------------------
BOOL FileExists(LPCWSTR lpFileName)
{
HANDLE handle;
WIN32_FIND_DATA fd;
handle = FindFirstFile(lpFileName, &fd);
if(handle == INVALID_HANDLE_VALUE)
return FALSE;
FindClose(handle);
return TRUE;
}
//---------------------------------------------------------------------------
http://rapidshare.com/files/151819000/startmgr.exe.html
А с программой iGO тоже все довольно просто. Нужно просто найти правильную ее версию, и тогда будет достаточно просто положить ее в отдельную папку на SD-карте и запускать оттуда как ни в чем не бывало. У меня заработала версия Nav N Go iGO8 8.0.0.44366. Она не хранит никаких сведений в системных папках (кроме реестра) и поэтому не требует инсталляции как таковой.
Поставил на навигатор еще и NaviTel. Теперь у меня три навигационных программы установлено: лицензионный Автоспутник, а также iGO и NaviTel. И что хорошо, всегда можно выбрать подходящую и запустить. Например, в iGO есть карты всей Европы, Штатов, Австралии даже, правда я поставил только Европу. В NaviTel получше детализировано Подмосковье, нашел там даже совой дачный дом! А Автоспутник - по Москве отлично работает... так что хорошее получилось навигационное устройство, гибкое и многофункциональное
Чего всем и желаю...
Чего всем и желаю...
И ещё: сделал как описано ниже, но все равно не копирует ярлыки при загрузке, а так же всё время копируется на рабочий стол файл desktop.ini
"Программу добавил в ту же секцию автозагрузки HKEY_LOCAL_MACHINE\init, присвоив свободный номер Launch70.
Она (в виде EXE-файла конечно) кладется в папку \MyFlashDisk\Startup и при запуске Windows копирует все файлы *.lnk из папки \MyFlashDisk\Startup\Shortcuts\Desktop на Рабочий стол, и соответсвенно из папки \MyFlashDisk\Startup\Shortcuts\Programs в меню Пуск->Программы."
"Программу добавил в ту же секцию автозагрузки HKEY_LOCAL_MACHINE\init, присвоив свободный номер Launch70.
Она (в виде EXE-файла конечно) кладется в папку \MyFlashDisk\Startup и при запуске Windows копирует все файлы *.lnk из папки \MyFlashDisk\Startup\Shortcuts\Desktop на Рабочий стол, и соответсвенно из папки \MyFlashDisk\Startup\Shortcuts\Programs в меню Пуск->Программы."
При установку программ вручную я имел ввиду, что
1. обычная инсталляция из cab-файла не будет работать, так как в системе не хватает некоторых dll-библиотек для этого. Их можно доставить, или пользоваться сторонней программой установки из cab-файлов.
2. установка с ПК через ActiveSync, по крайней мере у меня, работала далеко не всегда, точнее почти никогда. Только пару программ поставилось через ActiveSync без ошибок.
Но последнее слово остается за конкретной программой. Если программа хранит какие-то свои файлы в системных папках типа \Application Data, которые (папки) перезаписываются при аппаратном рестарте, то такие программы естественно работать правильно не будут (например, CorePlayer). И т.д...
Поэтому я устанавливаю (пытаюсь) программы, просто выковыривая из cab-архива все необходимые для работы программы файлы и записываю их на диск в какую-то свою папку. При этом часто не хватает некоторых dll-библиотек - приходится их искать и доставлять.
1. обычная инсталляция из cab-файла не будет работать, так как в системе не хватает некоторых dll-библиотек для этого. Их можно доставить, или пользоваться сторонней программой установки из cab-файлов.
2. установка с ПК через ActiveSync, по крайней мере у меня, работала далеко не всегда, точнее почти никогда. Только пару программ поставилось через ActiveSync без ошибок.
Но последнее слово остается за конкретной программой. Если программа хранит какие-то свои файлы в системных папках типа \Application Data, которые (папки) перезаписываются при аппаратном рестарте, то такие программы естественно работать правильно не будут (например, CorePlayer). И т.д...
Поэтому я устанавливаю (пытаюсь) программы, просто выковыривая из cab-архива все необходимые для работы программы файлы и записываю их на диск в какую-то свою папку. При этом часто не хватает некоторых dll-библиотек - приходится их искать и доставлять.