Одной из возможностей является запуск программы при запуске Windows Mobile, которая удалит старый драйвер и скопирует новый на место.
Это можно сделать с помощью HKEY_LOCAL_MACHINE\Init
, как описано здесь:
Вот пример программы:
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
// delete the old driver
BOOL result = DeleteFile(L"\\Windows\\MyDriver.dll");
if (result)
{
// put the new driver in place
result = MoveFile(L"\\My Documents\\MyDriver_NEW.dll",
L"\\Windows\\MyDriver.dll");
}
// Delete us from the registry
HKEY regKey = 0;
LONG regResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"init", 0, KEY_SET_VALUE, ®Key);
result = regResult == ERROR_SUCCESS;
if (result)
{
regResult = RegDeleteValue(regKey, L"Depend19");
result = regResult == ERROR_SUCCESS;
if (result)
{
regResult = RegDeleteValue(regKey, L"Launch18");
result = regResult == ERROR_SUCCESS;
}
RegCloseKey(regKey);
}
// we need to tell WinCE we started properly
SignalStarted(_ttoi(argv[1]));
return 0;
}
Значения «Launch18» и «Depend19», вероятно, будут отличаться на вашей платформе.Просто убедитесь, что эта программа запускается до device.exe.
Примечание. На многих платформах эта программа должна иметь подпись и ваши сертификаты должны быть установлены наУстройство.Если это не так, он не будет работать.