#visual-studio #deployment #installation
#visual-studio #развертывание #установка
Вопрос:
Я создаю настольное приложение, которому необходимо установить SDF-файл в SpecialFolder.CommonDocuments
папку ( C:UsersPublicdocuments
в Win 7). Как указать эту папку в редакторе файловой системы в проекте развертывания Visual Studio Desktop?
Я попытался создать пользовательскую папку в редакторе файловой системы и указать ее на папку CommonDocuments на панели свойств, например:
К сожалению, эта спецификация не будет собрана. Я не хочу жестко указывать путь к папке, поскольку он варьируется в разных версиях Windows. Итак, как мне указать папку CommonDocuments в редакторе файловой системы? Спасибо за вашу помощь.
Ответ №1:
Я разобрался с этим и задокументировал его для внутренних целей. Итак, я просто перепечатаю эту запись здесь:
Проекты развертывания Visual Studio не поддерживают папку CommonDocuments напрямую, но мы можем добавить эту поддержку с помощью редактора условий запуска, в котором есть задача «Поиск целевой машины». Мы будем использовать задачу для поиска в реестре Windows пути к папке общедоступных документов и присвоения результата свойству установщика (фактически переменной) с именем COMDOCFOLDER. Затем мы будем использовать эту переменную, чтобы задать путь к пользовательской папке в редакторе файловой системы.
Вот шаги для выполнения задачи. Сначала откройте редактор условий запуска в проекте развертывания Visual Studio:
Щелкните правой кнопкой мыши «Поиск целевой машины» и выберите «Добавить поиск в реестре» из контекстного меню. Появится новый элемент (см. 1 выше). Назовите ее Get Common Documents Folder
. На панели свойств (см. 2 выше) задайте свойству ‘Property’ (имя нашей переменной) значение COMDOCFOLDER
, свойству ‘Root’ (корневой раздел реестра для поиска) значение vsdrrHKLM
и свойству ‘RegKey’ (раздел реестра для поиска) значение SOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Folders
. Обратите внимание, что мы опустили корневой ключ из свойства ‘RegKey’. Наконец, установите для свойства ‘Value’ (имя значения, которое мы ищем в разделе реестра) значение Common Documents
. Переменная COMDOCFOLDER теперь будет содержать путь к папке общедоступных документов.
Затем перейдите в редактор файловой системы в проекте развертывания Visual Studio:
Щелкните правой кнопкой мыши «Файловая система на целевом компьютере» и выберите «Добавить специальную папку> Пользовательская папка» из контекстного меню. Появится новый элемент (см. 1 выше). Переименуйте элемент Common Documents
. На панели свойств (см. 2 выше) установите для свойства ‘Property’ значение COMDOCFOLDER
. Я установил для свойства ‘DefaultLocation’ жестко запрограммированное значение папки CommonDocuments для Windows Vista и более поздних версий; это значение будет использоваться только в том случае, если свойство COMDOCFOLDER возвращает нулевое значение, чего не должно происходить. Теперь у установщика есть папка «Общие документы», которая указывает на папку «Общедоступные документы», как указано в реестре Windows.
Больше информации содержится в этом руководстве по поддержке Microsoft.
Комментарии:
1. Большое спасибо за публикацию этого! Вы сэкономили мне много времени, пытаясь разобраться в этом!
Ответ №2:
Ответ Дэвида Винемана великолепен! Очень помогло. Небольшое исправление:
Щелкните правой кнопкой мыши «Файловая система на целевом компьютере» и выберите «Добавить специальную папку> Пользовательская папка» из контекстного меню. Появится новый элемент (см. 1 выше). Переименуйте элемент Common Documents. На панели свойств (см. 2 выше) установите для свойства ‘Property’ значение
[COMDOCFOLDER]
Эти квадратные скобки необходимы, иначе вы получите исключение при выполнении программы установки.