2010-03-01 4 views
3

Je souhaite créer une action personnalisée pour mon programme d'installation qui vérifie si Outlook est en cours d'exécution et si tel est le cas, il invite l'utilisateur à fermer Outlook avant de continuer.MSI MessageBox Action personnalisée

Tout fonctionne très bien sauf que lorsque le MessageBox apparaît pour informer l'utilisateur qu'il doit fermer Outlook, il apparaît derrière la fenêtre d'installation MSI en cours. J'aimerais qu'il apparaisse devant mais je n'arrive pas à comprendre comment faire ça.

J'ai fait des recherches et la fonction MSIProcessMessage semble fonctionner mais c'est une fonction API et je n'arrive pas à comprendre comment l'appeler à partir de mon code.

Voici mon extrait de code:

 Dim bCont As Boolean = True 

     While bCont 
      If Process.GetProcessesByName("OUTLOOK").Length > 0 Then 
        MsgBox("Please close Microsoft Outlook before you install the MissingLink Project Management add-in.", MsgBoxStyle.Information, "MissingLink Project Center") 
      Else 
       bCont = False 
      End If 
     End While 

Merci,

Kevin

Répondre

1

code VBScript Exemple sur MSIProcessMessage se trouve à http://msdn.microsoft.com/en-us/library/xc8bz3y5.aspx

Cependant, vous vraiment ne devriez pas utiliser VBScript pour écrire des actions personnalisées. Si ce n'est déjà fait, lisez Why VBScript (and JScript) Custom Actions Suck. Par le passé, j'ai eu des expériences assez horribles avec VBScript, dans la mesure où ils étaient 100% OK dans notre laboratoire de test mais ont échoué près de 10% du temps pour les clients. Ce n'est vraiment pas la peine.

Questions connexes