簡體   English   中英

無法構建WixStdBootstrapperApplication - 找不到錯誤“C:\\ tools \\ WixBuild.props”

[英]Unable to build WixStdBootstrapperApplication - get error “C:\tools\WixBuild.props” was not found

我正在嘗試更改WixStandardBootstrapperApplication.cpp並根據鏈接的建議生成一個dll。 我已經下載了wix310-debug源,並且正在修改wix310-debug \\ src \\ ext \\ BalExtension \\ wixstdba \\ location下的文件。 這個位置下有一個wixstdba.vcxproj文件,我試圖用Visual Studio 2012打開。每當我嘗試這樣做時,我都會收到錯誤:

Unable to read the project file "wixstdba.vcxproj". The imported project "C:\tools\WixBuild.props" was not found.

我不知道該怎么做才能糾正這個問題。 另外,根據引用的鏈接,我想我正在更新正確的文件,但如果不是這樣,請告訴我。 任何幫助都會很棒。 提前致謝。

在你的vcxproj中有一行如下:

<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.targets" />

調試源實際上並不是wix的源代碼。 它包含所有wix源文件,但它不是真正可構建的。 此zip包含所有構建的pdbs,僅用於調試。

您想從wixtoolset的github下載wix源代碼,以便您可以構建wixstdba。 但是,這是針對3.10.3版本的,並且可能有一些特定於版本的更改但是我沒有看到任何使用此處針對wix 3.10.2構建的dll的問題,因為引擎和引導程序應用程序接口應該仍然是相同。

但是 ,您應該使用WixStdBA項目構建所有這些。 您將不得不復制wixstdba文件夾。 編輯vcxproj並刪除上面提到的導入行(它應該在底部附近)。

現在,將此項目添加到Visual Studio中的新解決方案或安裝程序解決方案中。 我們需要添加添加include和庫目錄。 所有這些包括目錄將在你的wix安裝位置(默認C:\\ Program Files(x86)\\ WiX Toolset v3.10)在屬性 - > C / C ++ - >常規 - >其他包含目錄中添加你的wix SDK包含路徑。 如果您使用的是visual studio 2013,則可以使用完整路徑,也可以使用“$(WIX)\\ SDK \\ vs2013 \\ inc”。 $(WIX)應該引用WIX環境變量,該變量指向安裝wix時添加的安裝目錄。 如果您要在安裝了wix的構建系統上構建,那么這應該是更好的選擇,因為機器之間的位置可能不同。

現在添加庫目錄,我們轉到屬性 - >鏈接器 - >常規 - >附加庫目錄,並添加正確的lib路徑。 如果您使用的是visual studio 2013,則需要輸入$(WIX)\\ SDK \\ vs2013 \\ lib \\ x86。 最后,我們需要引用構建bootstrapper dll所需的庫。 在Linker - > Input - > Additional Dependencies下,添加“dutil.lib; balutil.lib”。 我的其他依賴項有很多東西,我不記得它是否默認存在。 無論如何,這是我的附加依賴項

dutil.lib;balutil.lib;advapi32.lib;comctl32.lib;comdlg32.lib;gdi32.lib;gdiplus.lib;kernel32.lib;msimg32.lib;odbc32.lib;odbccp32.lib;ole32.lib;oleaut32.lib;shell32.lib;shlwapi.lib;user32.lib;uuid.lib;wininet.lib;winspool.lib;version.lib;%(AdditionalDependencies)

有了這個,您應該能夠構建wixstdba項目並構建一個DLL。 沒有編輯任何代碼,這應該與包含wixstdba.dll的wix​​完全相同。

你可以嘗試引用這個dll而不是wix包含一個(必須定義你自己的BootstrapperApplication而不是使用BootstrapperApplicationRef到其中一個wix)或者只是將這個dll放入你的wix位置的bin中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM