Как создать установщик Revit для Windows в Visual Studio 2008 - PullRequest
0 голосов
/ 26 ноября 2010

Процесс ручной установки надстройки Revit 2011:

  1. Поместите надстройки DLL в нужное место, например C: Program Files \ RevitAddin \ RvtAddin.dll
  2. Создание XML-файла .addin, который содержит информацию о надстройке (местоположение, полное имя класса и т. Д.). Этот файл «.addin» должен находиться в одном из следующих мест:
    • Для Windows 7: C: \ ProgramData \ Autodesk \ Revit \ Addins \ 2011 \
    • Для Windows XP: C: \ Documents and Settings \ Все пользователи \ Данные приложения \ Autodesk \ Revit \ Addins \ 2011 \

Я легко могу выполнить первый шаг с помощью проекта установки Visual Studio 2008. Для второго шага, мне, вероятно, нужно использовать пользовательское действие, которое создаст XML-файл .addin. Я не знаю, как передать информацию (расположение вывода) из установщика в пользовательское действие.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2010

Спасибо за ответ, Эрик.Я уже решил проблему.

Что касается пользовательских действий, я сделал это в значительной степени так, как вы это описали.

У меня также была проблема с классом Установщика моего пользовательского действия.Мне нужно было поместить его в отдельный проект, иначе во время установки я получил ошибку 1001.

Что касается файла надстройки, я определил его путь с помощью RevitAddinUtility.RevitAddInUtility.dll - это сборка служебных классов .NET, которую вы можете найти в папке Revit Program.Он предоставляет вам методы для создания файла надстройки и определения пути к папке надстроек Revit.

Еще раз спасибо за ваш ответ.

0 голосов
/ 03 декабря 2010

Откройте редактор пользовательских действий, в котором вы увидите папки для каждого этапа установки или удаления (Install, Commit, Rollback, Uninstall). Под каждой папкой вы будете добавлять ссылки на ваши пользовательские действия.

Выберите одно из этих пользовательских действий и посмотрите на свойства. Будет свойство с именем CustomActionData , в котором можно сопоставить значения из установщика с настраиваемым действием.

Пример формата этого свойства показан ниже.

/installLocation="[ProgramFilesFolder][ProductName]" /setting1="[SETTING1]"

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

string path = this.Context.Parameters["installLocation"];
string setting1 = this.Context.Parameters["setting1"];

Кроме того, вы не должны ссылаться на абсолютный путь при записи файла дополнения Revit. Вместо этого вы можете выполнить следующие действия, чтобы найти папку AppData независимо от используемой ОС.

private string AddInManifestPath()
{
    string appdata = System.Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData);
    string path = System.IO.Path.Combine(appdata, @"Autodesk\REVIT\Addins\2011\DVAMC.addin");
    return path;
}
...