Я пытаюсь войти в систему из своего пользовательского действия C #, используя session.Log ("Hello World!"); Это не отображается в моем файле журнала при выполнении MSI следующим образом:
msiexec / i myMsi.msi / lvx myLog.log
Мое настраиваемое действие работает нормально, моя единственная проблема - я не получаю моя информация о регистрации. Журнал показывает, что мой ЦС вызывается, но не информация из моего вызова session.Log ().
Я использую Wix 3.5, .Net 4, VS 2010 и 64-битную Windows 7. Я вызываю свое действие следующим образом.
<Control Id="TestConnection" Type="PushButton" X="21" Y="177" Width="100" Height="17" Text="Test Connection">
<Publish Event="DoAction" Value="TestConnection">1</Publish>
</Control>
Согласно документации по DoAction ControlEvent , MsiProcessMessage (API за session.Log) нельзя использовать из ControlEvent. Это предотвратит появление вашего сообщения в журнале. Если вам нужно записать некоторую информацию из ControlEvent (особенно для отладки), лучше всего будет взломать, например изменить значение свойства, чтобы оно содержало желаемую информацию журнала.