Это называется проектом развертывания, и это устаревшая и сломанная технология - я предлагаю использовать WIX.Эти глупые проекты никогда не были в Visual Studio - они даже не придерживаются основ, как должны работать файлы MSI.
Одна вещь, которую вы не можете приятно контролировать - это запрос на повышение прав, необходимый для активации привилегий администратора.WIX позволяет вам полностью контролировать функции MSI.
Я должен выбрать запуск в качестве опции.Я выбираю пользователя B с правами администратора.После установки все файлы копируются в папку App Data пользователя B, а не A, как я ожидал ... почему?
Ах - логика?Вы устанавливаете КАК ПОЛЬЗОВАТЕЛЬ Б - так что файлы обязательно попадают в папку пользователя Б.
В общем, вам нужны права администратора для установки программного обеспечения.А гости не могут этого сделать.Точка.Установка - сложная вещь с высокими привилегиями, а не для тех, у кого нет прав на компьютер.
Установщик должен скопировать некоторые файлы в данные приложения текущего пользователя.
Недопустимо для определения.Точка.Обычный запуск установки не должен устанавливать ничего в данные приложения пользователя - какой другой пользователь запускает программное обеспечение?Программное обеспечение может делать копии при запуске (из общих данных приложения), но при НОРМАЛЬНОЙ установке (не для установки на пользователя) никогда не следует помещать содержимое в личную папку AppData пользователей.Это нарушение основных принципов MSI.
Symantec располагает хорошей документацией о единственно верном способе сделать это (и извините, проекты установки просто не поддерживают расширенные функции для MSI:
http://www.symantec.com/business/support/index?page=content&id=HOWTO4840
Как гласит:
Чтобы установить файлы в профиль каждого пользователя, необходимо выполнить самовосстановление приложения.
WIXимеет аналогичные ответы в сообщении:
http://windows -installer-xml-wix-toolset.687559.n2.nabble.com / Установка файлов для пользователя s-application-data-folder-td5377311.html
Полагаю, вы не хотите устанавливать пользователя;)
Я также предполагаю, что вы не устанавливаете раздел реестра в соответствии с ICE38 (предупреждение о настройке):
http://msdn.microsoft.com/en-us/library/aa368961%28VS.85%29.aspx
В общем: НЕ ДЕЛАЙТЕ ЭТОГО.Пользователь AppData может / должен произойти, когда пользователь запускает приложение.