2010-08-16 29 views
14

Tôi đang cố đăng nhập từ C# Custom Action bằng cách sử dụng session.Log ("Hello World!"); Điều này không hiển thị trong tập tin đăng nhập của tôi khi thực hiện msi của tôi như sau:Wix C# Nhật ký hành động tùy chỉnh không hoạt động

msiexec/i myMsi.msi/lvx myLog.log

hành động tùy chỉnh của tôi hoạt động tốt, vấn đề duy nhất của tôi là tôi không nhận thông tin đăng nhập của tôi. Nhật ký hiển thị CA của tôi đang được gọi, không phải thông tin từ cuộc gọi session.Log() của tôi.

Tôi đang sử dụng Wix 3.5, .Net 4, VS 2010 và Windows 64 bit 7. Tôi đang gọi hành động của mình như sau.

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

Trả lời

23

mỗi tài liệu trên DoAction ControlEvent, MsiProcessMessage (API đằng sau session.Log) không thể được sử dụng từ một ControlEvent. Điều này ngăn thông báo của bạn hiển thị trong nhật ký. Nếu bạn cần đăng nhập một số thông tin từ một ControlEvent (đặc biệt là để gỡ lỗi), đặt cược tốt nhất của bạn là hack như thay đổi giá trị của thuộc tính để chứa thông tin nhật ký mong muốn của bạn.

+1

Cũng phiên.Message dựa trên cùng MsiProcessMessage (và không phải là Tin nhắn như người ta hy vọng) – Jake

+2

Thời gian buồn ...... –

Các vấn đề liên quan