По какой-либо причине я получаю исключение NullReference только для Windows 7? - PullRequest
1 голос
/ 05 июля 2010

My C #, .NET 4, приложение отлично работает на XP (точнее, медиацентр - не спрашивайте).

В Windows 7 она устанавливается нормально, но сразу выходит из строя. Он жалуется на исключение NullReferenceException в обратном вызове фонового работника. (Я бы хотел дать вам больше информации, но если не считать установки VS на целевой машине, это все, что я могу получить.)

Итак, что я должен знать о развертывании в Windows 7?

Редактировать: В соответствии с просьбой, вот лучшее описание того, что происходит ... Когда инициализируется основная форма моего приложения, для создания экземпляра класса ведения журнала используется фоновый рабочий. Когда класс ведения журнала создан, обратный вызов работника использует экземпляр журнала для добавления новой записи.

Ответы [ 2 ]

7 голосов
/ 05 июля 2010

Как я уже говорил, это, скорее всего, случай привилегий (и он будет работать и в Vista).

Должно быть в порядке запись в журнал событий, но ограниченный (обычный) пользователь не может создать EventLog.

Вы можете обойти эту проблему, предварительно создав EventLog с помощью другого инструмента. Но некоторые (ориентированные на XP) программы считают хорошей идеей всегда создавать журнал. Неправильно.

Стандартным решением является создание исходного кода из вашего setup.exe

0 голосов
/ 05 июля 2010

Вы пытаетесь получить доступ к ресурсу, который не может быть создан.У вас случайно есть трассировка стека или лучшее описание того, что на самом деле делает это приложение?

...