2009-02-09 7 views
2

Допустимо ли устанавливать приложение в папку AppData? Оба Google Talk & Chrome не установлены в папке Program Files по умолчанию. Они устанавливаются в папке AppData пользователя. Microsoft делает то же самое с ClickOnce ...Google и Microsoft устанавливают приложения в папке AppData, почему бы и нет?

Я бы хотел, чтобы мое приложение самообновлялось, но при установке в папке Program Files оно терпит неудачу. В Windows Vista (2008 и семь) приложение не может писать в папке Program Files. Я понимаю, что UAC является ответственным, но он не позволяет моему приложению самостоятельно обновлять.

В случае, если я хотел бы развернуть в папке AppData, чтобы обойти проблемы с безопасностью, Как мне сообщить, что мой MSI Setup Project установлен в AppData? Есть идеи?

Спасибо!

UPDATE: Я не могу использовать ClickOnce, так как для этого требуется сертификат. Я не хочу тратить 200 долларов за год на сертификат.

+0

Вы можете создать свой собственный издательский серт хотя процесс несколько запутан: http://theruntime.com/blogs/jacob/archive/2006/12/04/ create-a-domain-publisher-cert-for-a-small-internal-software-shop.aspx –

ответ

2

Вы ошибаетесь о ключевой момент:

Я понимаю, что UAC является ответственным

Это не верно. Это же правило применяется в XP, если вы работаете как стандартный пользователь, что имеет место во многих корпоративных средах. Это не UAC, это предотвращает это: именно так окна устанавливают разрешения на папку, и это по дизайну.

Вы отвечаете на свой вопрос: если вы хотите установить в папку AppData, просто используйте установщик ClickOnce.

+0

ClickOnce заставляет использовать сертификат. Я не могу позволить себе 200 $/год для Cert ... – Martin

+0

вы можете использовать самоподписанный сертификат? – saschabeaumont

1

Какая среда самообучения вы используете?

Одной из исходных целей ClickOnce является неэффективный способ установки. Установка - это нечто большее, чем XCOPY, и практически гарантированно не возиться с остальной частью системы. Это связано с тем, что MS выбрала AppData над программными файлами. Скорее всего, вы повредите общую систему, если будете писать файлы только в AppData.

Если ваша пользовательская фреймворк хочет быть самообновляющейся, а также иметь одного пользователя с низкой нагрузкой, AppData может не быть плохим выбором. На самом деле все в каталоге «Пользователи» лучше, чем Program Files.

0

Правда, но я наблюдал очень странное поведение в Vista, я использовал свойство appdatafolder в своем msi, и для его установки требуются права администратора, теперь, когда uac включен, а стандартное использование запускает приложение, uac показывает окно входа в систему и попросите пароль администратора, когда мы обеспечиваем установку того же приложения, но не в папку данных приложения стандартного пользователя, он устанавливается в папку данных приложения администратора.

5

ClickOnce delployments может быть без знака с VS 2008 года

1

В Windows 7, новый MSI 5.0 поддерживает истинный «для каждого пользователя» устанавливает, что не требуется повышение контроля учетных записей - теперь есть программа для каждого пользователя Каталог файлов.Вот PDC поговорим подробнее:

http://channel9.msdn.com/pdc2008/PC42/

+0

Не помогает, так как предположительно OP хочет, чтобы приложение работало на XP и Vista. –