Установка программ на Pocket Navigator PN-4300

Навигаторы, GPS и ГЛОНАСС приемники и прочее оборудование, касающееся навигации
Закрыто
leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Установка программ на Pocket Navigator PN-4300

Сообщение leshich » Чт сен 18, 2008 00:54

Заметил, что часто здесь обсуждают вопросы об установке дополнительных программ на разные устройства, а про Pocket Navigator PN-4300 ничего нигде не написано. Это и понятно, так как разработчики не предусмотрели такой возможности, точнее, закрыли ее. Могу однако поделиться соответствующим опытом.

Данной устройство изначально позиционируется исключительно как GPS-навигатор с дополнительными функциями для просмотра мультимедиа. Однако приложив немного усилий из него можно сделать КПК :) Хотя есть и свои трудности.

Устройство хорошо дружит как с Автоспутником, так и с iGO. Другие навигационные программы пока не пробовал.

Конечно подобная "дороботка" делалась мной на свой страх и риск. Но на навигатор удалось установить помимо штатной программы Автоспутник еще и iGO8, TotalCommander и отличный мультимедиа-проигрыватель TCPMP. Причем все это доступно с полноценного рабочего стола Windows.

Изображение

Gipopotam
Новенький (0 lvl)
Сообщения: 13
Зарегистрирован: Чт авг 14, 2008 00:58

Сообщение Gipopotam » Чт сен 18, 2008 11:28

leshich

Подскажите пожалуйста:
Каким образом Вы изменили автозагрузку?
Как изменить настройки рабочего стола и закинуть на него ярлыки?

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Чт сен 18, 2008 18: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").

Отмечу, что с реестром нужно все-таки быть аккуратным и не испортить там ничего, следить за правильностью всех вносимых в него букв ))

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Чт сен 18, 2008 18:45

Да, из-за того, что некоторые папки перезаписываются при перезапуске, обычная установка программ тоже не работает. Поэтому придется ставить программы "вручную".

Денис Шевченко
Новенький (0 lvl)
Сообщения: 1
Зарегистрирован: Вс окт 05, 2008 12:10

Сообщение Денис Шевченко » Пн окт 06, 2008 12:38

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, попробую проинсталировать вручную?

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Вт окт 07, 2008 22:45

2 pir
Думаю, хотя и не поручусь на 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;
}

//---------------------------------------------------------------------------
А вот и сам exe-шник
http://rapidshare.com/files/151819000/startmgr.exe.html

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Вт окт 07, 2008 22:53

А с программой iGO тоже все довольно просто. Нужно просто найти правильную ее версию, и тогда будет достаточно просто положить ее в отдельную папку на SD-карте и запускать оттуда как ни в чем не бывало. У меня заработала версия Nav N Go iGO8 8.0.0.44366. Она не хранит никаких сведений в системных папках (кроме реестра) и поэтому не требует инсталляции как таковой.

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Ср окт 15, 2008 20:14

Поставил на навигатор еще и NaviTel. Теперь у меня три навигационных программы установлено: лицензионный Автоспутник, а также iGO и NaviTel. И что хорошо, всегда можно выбрать подходящую и запустить. Например, в iGO есть карты всей Европы, Штатов, Австралии даже, правда я поставил только Европу. В NaviTel получше детализировано Подмосковье, нашел там даже совой дачный дом! А Автоспутник - по Москве отлично работает... так что хорошее получилось навигационное устройство, гибкое и многофункциональное ;)
Чего всем и желаю...

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Ср окт 15, 2008 20:36

Если кому интересно, вот что удалось установить:
Изображение

aovlad
Новенький (0 lvl)
Сообщения: 7
Зарегистрирован: Пт окт 17, 2008 08:01

Сообщение aovlad » Пт окт 17, 2008 09:00

Уважаемый leshich!
Какую версию навитела вы поставили, как зарегистрировали?
у меня Pocket Navigator PN-4300.
Я нечаенно поставил галку в настрайках понели задач и убрал её с рабочего стола, не подскажешь как можно её вернуть обратно на рабочий стол.

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Пт окт 17, 2008 19:43

2 aovlad
Чтобы вернуть панель задач, нужно зайти в реестр устройства по пути HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\AutoHide и изменить значение параметра Default на 0.
У меня версия "NaviTel 3.2.(update 1.7443) для автомобильных навигаторов".

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Пт окт 17, 2008 19:47

Уже наступал на эти грабли... Просто сенсорный экран у этого навигатора расположен немного ниже положенного уровня, и пластиковый корпус перекрывает самую его нижнюю часть, на которую нужно было бы тыкнуть, чтобы панель задач опять всплыла. Поэтому больше не трогайте эту галку ;)

aovlad
Новенький (0 lvl)
Сообщения: 7
Зарегистрирован: Пт окт 17, 2008 08:01

Сообщение aovlad » Вт окт 21, 2008 18:23

leshich писал(а):Да, из-за того, что некоторые папки перезаписываются при перезапуске, обычная установка программ тоже не работает. Поэтому придется ставить программы "вручную".
Что имеется в виду "придется ставить программы "вручную"" икак это делается?

aovlad
Новенький (0 lvl)
Сообщения: 7
Зарегистрирован: Пт окт 17, 2008 08:01

Сообщение aovlad » Вт окт 21, 2008 18:48

И ещё: сделал как описано ниже, но все равно не копирует ярлыки при загрузке, а так же всё время копируется на рабочий стол файл desktop.ini

"Программу добавил в ту же секцию автозагрузки HKEY_LOCAL_MACHINE\init, присвоив свободный номер Launch70.
Она (в виде EXE-файла конечно) кладется в папку \MyFlashDisk\Startup и при запуске Windows копирует все файлы *.lnk из папки \MyFlashDisk\Startup\Shortcuts\Desktop на Рабочий стол, и соответсвенно из папки \MyFlashDisk\Startup\Shortcuts\Programs в меню Пуск->Программы."

leshich
Аспирант (2 lvl)
Сообщения: 61
Зарегистрирован: Пн авг 04, 2008 13:58

Сообщение leshich » Вт окт 21, 2008 20:05

При установку программ вручную я имел ввиду, что

1. обычная инсталляция из cab-файла не будет работать, так как в системе не хватает некоторых dll-библиотек для этого. Их можно доставить, или пользоваться сторонней программой установки из cab-файлов.

2. установка с ПК через ActiveSync, по крайней мере у меня, работала далеко не всегда, точнее почти никогда. Только пару программ поставилось через ActiveSync без ошибок.

Но последнее слово остается за конкретной программой. Если программа хранит какие-то свои файлы в системных папках типа \Application Data, которые (папки) перезаписываются при аппаратном рестарте, то такие программы естественно работать правильно не будут (например, CorePlayer). И т.д...

Поэтому я устанавливаю (пытаюсь) программы, просто выковыривая из cab-архива все необходимые для работы программы файлы и записываю их на диск в какую-то свою папку. При этом часто не хватает некоторых dll-библиотек - приходится их искать и доставлять.

Закрыто

Вернуться в «GPS и ГЛОНАСС оборудование»