0

過程2011加載項:如何創建的Revit的手動安裝的Revit添加的Windows安裝程序在Visual Studio 2008

  1. 將加載的DLL中所需的位置,例如C:Program Files文件\ RevitAddin \ RvtAddin.dll
  2. 創建.addin xml文件,其中包含有關加載項(位置,完整類名稱等)的信息。這種 「.addin」 文件必須放在以下位置之一:
    • 對於Windows 7:C:\ ProgramData \歐特克\ Revit中\加載項\ 2011 \
    • 對於Windows XP:C:\ Documents和Settings \所有用戶\應用數據\歐特克\ Revit中\加載項\ 2011 \

我可以很容易地實現與Visual Studio 2008的安裝項目的第一步。 對於第二步,我可能需要使用自定義操作來創建xml .addin文件。我不知道如何將信息(輸出位置)從安裝程序傳遞到自定義操作。

回答

0

打開自定義操作編輯器,您將在其中看到安裝或卸載(安裝,提交,回滾,卸載)每個階段的文件夾。在每個文件夾下,您將添加對您的自定義操作的引用。

選擇這些自定義操作之一併查看屬性。將會有一個名爲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; 
} 
0

感謝您的回答,Eric。我已經解決了這個問題。

關於自定義操作,我幾乎是這麼描述它的。

我也有我的自定義操作的安裝程序類的問題。我需要把它放在單獨的項目中,否則在安裝過程中會出現1001錯誤。

至於插件文件,我使用RevitAddinUtility來確定它的路徑。 RevitAddInUtility.dll是一個.NET實用程序類程序集,您可以在Revit Program文件夾中找到它。它提供了創建插件文件和確定Revit插件文件夾路徑的方法。

再次感謝您的回答。

+0

沒問題。真高興你做到了。當你有機會時,你能將我的答案標記爲正確嗎?謝謝 – 2011-02-04 18:13:49

相關問題