Devo creare una custom action per un progetto di installazione che deve fare apparire un dialogo personalizzato.
Ho scelto la strada della dll perchč in questo modo posso settare e leggere le proprietā dell'msi da codice.
ho usato questo codice,stampa "entrato" ma mi da errore quando lancio il dialogo:
UINT __stdcall install(MSIHANDLE paraname)
{
AfxMessageBox("entrato")
Esempi* dlg=new Esempi();
dlg->DoModal();
return 1;
}
oppure:
UINT __stdcall install(MSIHANDLE paraname)
{
idem questo:
AfxMessageBox("entrato")
Esempi dlg;
dlg.DoModal();
return 1;
}
e nella custom action ho settato l'entry point su install.
La dll lancia il messagebox ma poi da errore
č possibile lanciare un dialogo da una dll mfc?
se fosse possibile
1)faccio un registry search nel registro di sistema per trovare dove č installato autocad e setto una variabile con il percorso
2)lancerei il dialogo che propone il percorso dela variabile del punto 1(letta con un MsiGetProperty e permette di scegliere un altro percorso
2)l'utente sceglie dove installare e setta e setto una variabile nell'msi con il metodo MsiSetProperty con il percorso scelto
4)ritorno al msi e leggo la variabile se č andato tutto ok e copio i files nella directory finale
data dalla variabile di msi
grazie