Проект установки VS2005 - программа запрашивает установочный носитель при первом запуске другим пользователем

У меня есть очень простой проект развертывания VS2005, целью которого является установка для всех пользователей ПК.

Все файлы приложения записываются в %Program Files%\MyProg. Ярлык создается в меню «Пуск» и в папке автозагрузки. Никаких настроек реестра или чего-то еще не создается. Я установил для InstallAllUsers значение true.

Созданный MSI работает нормально и устанавливает программное обеспечение. Без проблем работает при запуске под учетной записью пользователя, из-под которого была установлена.

При входе в систему под другим пользователем меню «Пуск» и значки запуска присутствуют. Он пытается запустить приложение, однако появляется окно установки, в котором говорится, что «функция, которую вы пытаетесь использовать, находится на сетевом ресурсе, который недоступен». Программа установки продолжит работу только в том случае, если будет указан исходный файл MSI.

Почему это происходит? Я хочу, чтобы мое приложение было установлено полностью для всех пользователей, если оно установлено одним пользователем.

изменить: решение

Я получал подобные сообщения журнала событий, как показано на этой странице. В моем случае это оказалось так же просто, как убедиться, что в пользовательском меню программы атрибут «Всегда создавать» установлен на false. Если бы это было правдой, Windows попыталась бы воссоздать папку, когда новый пользователь вошел в систему. Это каким-то образом потребовало вызова программы установки и, таким образом, привело к подсказкам «вставьте установочный носитель».


person Alex    schedule 06.09.2010    source источник


Ответы (3)


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

person Christopher B. Adkins    schedule 09.09.2010
comment
Благодарю вас за помощь в решении скучной проблемы - награда за вас, если мы сможем решить эту проблему. - person Alex; 09.09.2010
comment
@Alex спасибо за предложение, но мне нужно немного больше информации (а именно ответы на вопросы). - person Christopher B. Adkins; 09.09.2010
comment
Также вы устанавливаете для атрибута InstallAllUsersVisible значение false? Это может помочь облегчить проблему. - person Christopher B. Adkins; 09.09.2010
comment
И я нашел это для вас, что может помочь вам пройти через это. Это специфично для VS2005. msdn.microsoft.com/en-us/ библиотека/445kc47k%28v=VS.80%29.aspx - person Christopher B. Adkins; 09.09.2010
comment
@Adkins - абсолютно точно, я предоставлю любую информацию, которая может оказаться полезной. Я просто не на работе в данный момент. - person Alex; 09.09.2010
comment
@Adkins - у меня было значение InstallAllUsersVisible как true, и я выбрал установку для всех пользователей при тестировании MSI. Как вы думаете, как это связано? - person Alex; 09.09.2010
comment
@Adkins - я следовал этому руководству msdn до буквы при создании MSI. - person Alex; 09.09.2010
comment
@Adkins - я думаю, вы что-то понимаете, когда предполагаете, что это может быть связано с разрешениями. Когда я вернусь на работу, я проведу несколько тестов с ограниченными учетными записями и учетными записями администратора. - person Alex; 09.09.2010
comment
@Alex, просто в качестве теста я бы рекомендовал установить для InstallAllUsersVisible значение false и посмотреть, что произойдет. Если получится такое же поведение, мы можем отказаться от этого варианта вместе. Если это работает с выбранным, то мы знаем проблему и можем начать работать над ее решением. - person Christopher B. Adkins; 09.09.2010
comment
@Alex также проверьте свою рекламную собственность. Это должно быть установлено в false. - person Christopher B. Adkins; 09.09.2010
comment
@Adkins - вы получаете награду за свою готовность помочь. Ты говоришь как топовый парень. - person Alex; 10.09.2010

Имейте в виду, что это, скорее всего, не относится к Visual Studio, посмотрите эту статью поддержки вот откуда такое же сообщение возвращается для офиса.

person JohnIdol    schedule 09.09.2010
comment
Я ценю вашу точку зрения, однако в этом случае проект развертывания в Visual Studio — единственная часть процесса, которую я могу изменить. - person Alex; 09.09.2010
comment
Я предлагаю вам использовать тот факт, что это не специфично для Visual Studio, чтобы понять проблему и внести соответствующие изменения. - person JohnIdol; 09.09.2010
comment
Причины в этой статье не имеют отношения к моему делу. Есть ли у вас какие-либо другие ссылки, которые могут указать, почему установщик может действовать таким образом? - person Alex; 09.09.2010

Я знаю, что это старый пост, но я подумал, что добавлю еще одну причину и решение на случай, если вышеуказанное не сработает для вас.

В проектах установки и развертывания VS есть ошибка, из-за которой значения реестра вводятся в HKCU вместо HKLM независимо от того, установлено ли для свойства InstallAllUsers значение true.

Вы должны использовать редактор Orca msi, чтобы изменить корень реестра для «DesktopFolder» и «ProgramMenuFolder» с 1 или 2 на -1. Проблема не может быть решена через VS.

http://www.qa.downappz.com/questions/vs-2010-deploys-per-user-features-during-install-what-require-access-to-install-media.html

person mpedev    schedule 03.04.2013