Установить ярлык из проекта MSI VS.NET для ВСЕХ ПОЛЬЗОВАТЕЛЕЙ - PullRequest
3 голосов
/ 12 января 2012

Я искал и искал здесь. Я попробовал следующие методы без удачи:

Установите для свойств установщика проекта значение - InstallforAllUsers (не могу вспомнить точное имя), но оно добавляет ярлык ко всем меню пользователя, но только пользователь, установивший приложение, может его запустить. Другие пользователи получают ошибку SysWOW64 из-за невозможности установить ее или что-то в этом роде.

Установите [DesktopFolder] или [AllUserStartMenu] еще раз, возможно, у меня нет правильных имен этих свойств, но я следовал за ними от нескольких пользователей, которые разместили здесь. Придание этим свойствам значения ALLUSERS. Во время установки происходит сбой программы установки и появляется сообщение «Невозможно найти сетевое расположение 1» или что-то в этом роде.

Использовал ORCA для редактирования файла MSI и добавления свойства для установки для всех пользователей, и произошел сбой внутри ORCA с ошибкой невозможности добавить свойство.

Это сводит с ума. Я использую Visual Studio 2010. Я думаю, что я просто раздвигаю границы инсталлятора ... представьте себе. Моя установка - это настольное приложение (winforms), которое имеет настраиваемое действие и класс установщика, который записывает некоторые значения в файл настроек при выборе, который пользователь делает во время установки (экран установщика настраиваемого пользовательского интерфейса).

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 12 января 2012

MSDN Сайт, объясняющий, как это сделать MSI Install All Users

Свойство InstallAllUsers для проекта развертывания определяет, установлено ли приложение для всех пользователей компьютера или только дляПользователь, выполняющий установку.Свойство InstallAllUsers можно установить в окне «Свойства», если в обозревателе решений выбран проект развертывания.

Параметры

False - приложение будет установлено только для текущего пользователя и не будетвидны другим пользователям компьютера (по умолчанию).

True - приложение будет установлено для всех пользователей.

Свойство InstallAllUsersVisible

Свойство InstallAllUsersVisible для папки установкиДиалоговое окно интерфейса пользователя определяет, появятся ли во время установки «Установить MyApplication для себя» или для любого, кто использует этот ярлык компьютера и соответствующие кнопки «Все» и «Только я».InstallAllUsersVisible можно установить в окне «Свойства», если в редакторе интерфейса пользователя выбран узел «Папка установки».

Настройки

True - установить MyApplication для себя или для всех, кто использует этот компьютерво время установки будут отображаться метка и соответствующие ей кнопки выбора «Все» и «Только я», а выбор пользователя определяет метод установки.

Неверно - Установить MyApplication для себя или для всех, кто использует этот ярлык компьютера и соответствующие «Все» и «Все».Просто мне кнопки выбора не будут видны при установке. "

==========================================================

Итак, пошаговое руководство по установке для всех пользователей по умолчанию безпереключатели, которые отображаются для пользователей, устанавливающих ваш продукт .: 1. Нажмите на свой проект установки в обозревателе решений. 2. Посмотрите в окне «Свойства» и установите для свойства InstallAllUsers значение True 3. Click на значке на панели инструментов обозревателя решений, который имеет всплывающую подсказку «Редактор интерфейса пользователя» 4. Щелкните элемент «Папка установки» на открывшейся панели.5. Посмотрите в окне «Свойства» и установите для параметра InstallAllUsersVisible значение False.6. Перестройте свое решение.

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

Я искал в Интернете ответ на этот вопрос, и янашел ответ, спрятанный на сайте Microsoft.

Вам понадобится Orca.exe от Microsoft.Это редактор базы данных MSI.(http://msdn.microsoft.com/library/de...p/orca_exe.asp) Единственный способ получить этот файл - установить SDK установщика Windows (http://www.microsoft.com/msdownload/...msdk/sdkupdate).

. Как только вы закончите сборку файла .MSI, вам нужно будет открыть его с помощью Orca.exe. После открытия, перейдите к таблице «Свойство». В меню нажмите «Таблицы», а затем «Добавить строку». Для строки «Свойство» введите «ALLUSERS», для значения введите «1» или «2».«1» заставит установщик попытаться добавить ярлык «Все пользователи» и потерпит неудачу, если у текущего пользователя нет прав доступа, «2» заставит установщик сначала попробовать «Все пользователи», а затем переключиться наих личная папка. Для подробностей - http://msdn.microsoft.com/library/de...stallation.asp

Я проверил это на «Рабочем столе пользователя» и «Меню Пуск пользователя», и это сработало для обоих. Предупреждение: если вы пересобираете свой файл MSI,он удалит запись свойства «ALLUSERS», поэтому вы должны использовать Orca.exe и повторно добавлять настройки при каждой перестройке.

2 голосов
/ 06 ноября 2013

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

Вот как мне это сделать:

  1. Добавьте поиск в реестре к условиям запуска:

    enter image description here

    • (Имя): поиск программ всех пользователей меню
    • Недвижимость: ALLUSERSMENU
    • RegKey: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Папки оболочки
    • Корень: vsdrrHKLM
    • Значение: Обычные программы
  2. Создайте новую целевую папку в редакторе файловой системы и используйте новое свойство:

    enter image description here

    • (Имя): Меню всех программ пользователя
    • AlwaysCreate: True
    • Местоположение по умолчанию: [ALLUSERSMENU] \ YourMenuHere
    • Недвижимость: MENULOCATION
    • Переходный: Ложь
  3. Поместите ваши ярлыки в эту новую папку.

Вот и все.

Для справки здесь приведены пути к папкам, доступ к которым вы можете получить в реестре для Windows XP:

enter image description here

и для Windows 7:

enter image description here

1 голос
/ 11 декабря 2014

См. Свойство ALLUSERS на MSDN.Ссылка в первом комментарии не работает.

http://msdn.microsoft.com/en-us/library/aa367559%28v=vs.85%29.aspx

...