Ошибка установки приложения C # - microsoft.visualstudio.hostingprocess.utilites.sync версии 9.0.0.0 отсутствует в глобальном кэше сборок (GAC) - PullRequest
0 голосов
/ 06 апреля 2011

Справочная информация: у меня есть приложение winforms, написанное на C #, которое преобразует файлы xlsx в csv, вызывая второе полностью отдельное приложение ConvertExcelTo.Exe из командной строки.Я использую инструмент Build Publishing для компиляции файла установки / установки из решения для приложения winforms.

Проблема: Установщик Windows завершает работу без ошибок на моем компьютере с Windows 7 Ultimate, Visual Studio 2010Premium и Framework 3.5, но пользователь, работающий в Windows XP SP3 без VS, получает следующее сообщение об ошибке установки:

   This application requires microsoft.visualstudio.hostingprocess.utilites.sync 
   version 9.0.0.0 be installed in the Global Assembly Cache (GAC) first.

В разделе «Необходимые условия» я выбрал:

  • Установщик Windows 3.1
  • .Net Framework 3.5
  • Загрузка необходимых компонентов с веб-сайта поставщика компонента

В разделе "Файлы приложений" у меня есть:

  • Включенные файлы: CCP_Utility.exe, CCP_Utility.exe.config, CCP_Utility.exe.manifest, ConvertExcelTo.exe, ExcelConversion.dll, Icon1.ico, Microsoft.Office.Interop.Excel.dll, Microsoft.Vbe.Interop.dll, office.dll
  • Исключенные файлы: CCP_Utility.vshost.exe, CCP_Utility.pdb
  • Необходимые файлы: Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll, stdole.dll

Я пробовал:

  • Добавление существующих элементов ConvertExcelTo.exe и ExcelConversion.dll в Project Solution и удаление ссылок на эти файлы.извне
  • Исключение ConvertExcelTo.vshost.exe из файлов приложения в Build Pubisher и удаление файла из решения
  • Установка Windows 4.5 SDK для XP SP3 & Vista здесь: http://download.microsoft.com/download/7/c/4/7c426dfc-46e2-4ded-bab4-3b33600ad7d1/msi45sdk.msi

Вопрос:

  • Что нужно загрузить пользователю, чтобы программа установки завершила без ошибок?
  • Что мне нужно отредактироватьв издателе, чтобы другие пользователи не получали эту ошибку?
  • Должен ли я установить какие-либо обязательные файлы для включения файлов?

Спасибо за внимание!:)

1 Ответ

2 голосов
/ 07 апреля 2011

Я решил эту проблему, добавив проект «Установка и развертывание» в свой существующий проект, чтобы создать программу установки, в которой я мог бы выбрать «Папка глобального кэша сборок», щелкнув правой кнопкой мыши «Файловая система на целевой машине»

  1. В существующем проекте перейдите в меню «Файл»> нажмите «Добавить»> «Новый проект»>, откроется диалоговое окно «Добавить новый проект».

  2. Выберите «Другие типы проектов» и нажмите «Настройка и развертывание» проектов. Выберите «Настройка проекта», введите имя проекта в текстовом поле «Имя» и, наконец, нажмите «ОК». Project Types

  3. В обозревателе решений появляется новый проект, например, вы дали имя «myEXE», файл будет отображаться с заданным именем.

  4. Щелкните правой кнопкой мыши на myEXE> go View File System

  5. Вы можете увидеть «Файловую систему на целевой машине» в 3 папках: Папка приложения, рабочий стол пользователя и меню программ пользователя. Щелкните правой кнопкой мыши «Файловая система на целевом компьютере» и выберите «Папка глобального кэша сборок». File System on Target Machine

  6. Выберите папку приложения и щелкните правой кнопкой мыши Добавить> Выход проекта> выберите Основной выход

  7. Выберите пользовательский рабочий стол richt, нажмите во втором окне> нажмите "Создать новый ярлык"> выберите выходной файл из папки приложения> измените имя файла с основного выходного имени на myEXE 8.Наконец постройте новый проект После успешной сборки проект myEXE (Setup) появится в папке «Отладка приложения» или «Release» (зависит от настроек свойств)

Надеюсь, это поможет и другим :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...