2010-08-16 3 views
14

J'essaie de me connecter à partir de mon action personnalisée C# en utilisant session.Log ("Hello World!"); Cela ne figure pas dans mon fichier journal lors de l'exécution de mon msi comme suit:La journalisation des actions personnalisées de Wix C# ne fonctionne pas

msiexec/i myMsi.msi/lvx myLog.log

Mon action personnalisée fonctionne très bien, mon seul problème est que je ne obtenir mes informations de journalisation. Le journal indique que mon CA est appelé, mais pas les informations de mon appel session.Log(). J'utilise Wix 3.5, .Net 4, VS 2010 et Windows 7 64-bit. J'appelle mon action comme suit.

<Control Id="TestConnection" Type="PushButton" X="21" Y="177" Width="100" Height="17" Text="Test Connection"> 
    <Publish Event="DoAction" Value="TestConnection">1</Publish> 
</Control> 

Répondre

23

par les docs sur DoAction ControlEvent, MsiProcessMessage (l'API derrière session.log) ne peut être utilisé à partir d'un ControlEvent. Cela empêche votre message d'apparaître dans le journal. Si vous avez besoin de consigner des informations à partir d'un ControlEvent (en particulier pour le débogage), votre meilleur pari est un hack comme la modification de la valeur d'une propriété pour contenir les informations de journal souhaitées.

+1

Aussi session.Message repose sur le même MsiProcessMessage (et pas Message que l'on espère) – Jake

+2

Triste fois ...... –

Questions connexes