2010-07-06 2 views
0

В моей setup.dll я есть на следующие:CF - Запуск приложения после установки его на устройстве

#include "stdafx.h" 
#include "ce_setup.h" 

TCHAR Message[] = _T("TERMS & CONDITIONS\r\n ") 
    _T("Do you agree to terms? \r\n"); 

codeINSTALL_INIT Install_Init 
( 
    HWND hwndParent, 
    BOOL fFirstCall, 
    BOOL fPreviouslyInstalled, 
    LPCTSTR pszInstallDir 
) 
{ 
if (!fFirstCall || ::MessageBoxW(0, Message, _T("RmapGeneric"), MB_YESNO) == IDYES) 
      return codeINSTALL_INIT_CONTINUE; 
     else 
      return codeINSTALL_INIT_CANCEL; 
} 

codeINSTALL_EXIT Install_Exit 
(
    HWND hwndParent, 
    LPCTSTR pszInstallDir, 
    WORD cFailedDirs, 
    WORD cFailedFiles, 
    WORD cFailedRegKeys, 
    WORD cFailedRegVals, 
    WORD cFailedShortcuts 
) 
{ 
    PROCESS_INFORMATION pi = {0}; 
    codeINSTALL_EXIT cie = codeINSTALL_EXIT_DONE; 
    TCHAR szPath[MAX_PATH]; 
    _tcscpy(szPath, pszInstallDir); 
    _tcscat(szPath, _T("\\")); 
    _tcscat(szPath, _T("Application.exe")); 
    MessageBox(GetForegroundWindow(), szPath, L"status", MB_OK); 
    if (!CreateProcess(szPath, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, &pi)) 
    { 
     MessageBox(GetForegroundWindow(), szPath, L"failed", MB_OK); 
     cie = codeINSTALL_EXIT_UNINSTALL; 
    } 
    return cie; 
} 

В то время как первая функция работает, то Install_Exit не делает. Все, что я хочу, это то, что после установки приложение автоматически запускается.

Любые предложения, что я делаю неправильно?

+0

жаль грязный код, но формат код не форматировать код правильно – no9

+0

Вы можете читать вверх по разметке. Я исправил макет. – ctacke

ответ

0

Ok я нашел проблему в DEF-файл

Я забыл экспортировать функцию выхода: S

0

Нет ничего совершенно очевидного в том, что не так. Вы уверены, что целевой исполняемый файл находится в этой папке? Вы вызвали GetLastError, чтобы увидеть , почему это не работает?

+0

мой следующий вопрос был, как отлаживать этот код, чтобы понять, что не так. Это моя первая настройка мобильных приложений, поэтому я никогда раньше этого не делал. – no9

+0

, так как я помещаю тот же код в функцию выхода, что и в функции init, предполагая, что функция выхода никогда не вызвана? – no9

+0

У меня есть дополнительный вопрос: Есть ли какой-то пример, как я могу в любой из этих функций проверить установку платформы .NET CF на устройстве. Ofcorse лучшим решением было бы включить net cf cab в процесс установки, но я знаю, что я не могу вложить файлы .cab. Таким образом, простая проверка с полем сообщений будет работать для меня ... – no9

 Смежные вопросы

  • Нет связанных вопросов^_^