2012-08-22 49 views
5

當我使用WiX的3.x的使用Visual Studio 2010創建一個Windows Installer XML 「C#自定義操作項目」 被稱爲 「MyCustomActions」,它生成以下文件:可以重命名爲Visual Studio生成的類和程序集以進行WiX C#自定義操作嗎?

「CustomAction.config」,「CustomAction.cs 「和項目文件」MyCustomActions.csproj「。

我們使用包括我們公司的名稱組件的命名方案,所以我們改變了組件名稱類似:CompanyName.ProductName.MyCustomActions

與此同時,我們改變了默認的命名空間和實際的名稱空間CustomActions類轉換爲CompanyName.ProductName.MyCustomActions,以匹配程序集名稱。

可以在不更改任何其他文件或類名的情況下執行此操作嗎?

我想知道的是使用「CustomAction.config」文件 - 它的名稱必須以某種方式與輸出程序集名稱相關嗎?我不確定如何使用「CustomAction.config」。

此外:「CustomAction.cs」文件包含一個名爲「CustomActions」的類(注意複數形式),我們的命名約定表示類的代碼文件應該與類本身具有相同的名稱,所以我們想要將代碼文件重命名爲「CustomActions.cs」。我很確定這沒關係......是嗎?

最後,如果我們將CustomAction類重命名爲其他類型,那會好嗎?再次,我只關心它與「CustomAction.config」的關係。

我想所有這些問題都可以歸結爲一個:「CustomAction.config」文件的名稱與名稱空間,程序集和類名的其餘部分之間的關​​系是什麼?

如果我有答案,它會回答我以前的所有問題。

回答

5

對於WIX自定義操作項目,無論您命名類或程序集或命名空間或其他任何名稱,配置文件必須始終命名爲'CustomAction.config'(考慮它在WIX中進行硬編碼)及其構建VS中的文件屬性中的操作應設置爲「內容」。項目中沒有其他任何要求。

此配置文件可以指定支持的CLR版本(實際上建議),並且可以包含您的自定義操作dll可能需要的任何其他配置。

您的dll將能夠使用標準的.Net應用程序配置API讀取這些額外的配置設置。

+0

非常好,謝謝你的確切答案。 :) –

0

我已經使用配置文件在編譯框架中運行其他.NET框架中的應用程序。 例如,如果我們使用CLR 2.0(.NET框架2.0或3.5),該應用程序未在單獨安裝.NET Framework 4.0的計算機上運行。在這種情況下,如果我們在配置文件中設置下面的代碼,並將配置文件與應用程序一起放置,它將在Framework 4.0單獨安裝的機器中運行。

<startup useLegacyV2RuntimeActivationPolicy="true"> 
<supportedRuntime version="v2.0.50727"/> 
<supportedRuntime version="v4.0"/> 

我希望在這裏使用配置文件的原因相同。

+0

感謝您的回覆,但我不認爲它告訴我是否可以重命名該文件(我擔心如果我更改類的名稱等實際上不會使用它)。 –

相關問題