MSI Self Heal не восстанавливает ярлык на Windows XP - PullRequest
1 голос
/ 08 декабря 2011

У меня есть 32-разрядное приложение .NET, которое использует встроенный проект установки MSI в VS 2008.

Развертывается для каждого пользователя с помощью объекта групповой политики. Это означает, что он установлен на каждом компьютере, на котором пользователь входит в систему. Таким образом, каждый пользователь автоматически получает правильный ярлык на своем рабочем столе.

Все наши рабочие станции работают под управлением Windows XP (32 бита), но некоторые из наших пользователей также входят в систему на терминальном сервере (Windows Server 2008), который является 64-битным. Когда они входят на сервер и нажимают на ярлык, запускается установщик msi (я думаю, что это самоисцеление, меняя ярлык на Program files (x86), и они могут использовать приложение.

Проблема в том, что, когда они снова входят в свою рабочую станцию ​​и нажимают на ярлык на своей рабочей станции, он сразу же перестает работать, потому что ярлык указывает на папку Program files (x86), которой нет на компьютере с XP. 1009 *

Я бы ожидал, что MSI снова заживет, чтобы исправить ярлык. Могу ли я заставить это произойти?

1 Ответ

0 голосов
/ 12 декабря 2011

Это не поддерживается установщиком Windows.

Автоматическое восстановление выполняется только тогда, когда установщик Windows обнаруживает отсутствующий ресурс.Скорее всего, серверный компьютер не может получить доступ к некоторым файлам приложения или записям реестра, поэтому он выполняет исправление, которое просто приводит к изменению цели ярлыка.По сути, это совпадение.

Поскольку учетная запись пользователя находится в роуминге (пользователь может использовать ее на нескольких компьютерах), приложение должно быть установлено в папке профиля пользователя.Для этого установщик Windows предоставляет AppDataFolder .

Использование перемещаемой папки профиля пользователя позволит вашим пользователям правильно обращаться к файлам приложения с любого компьютера.

...