我有一個自定義操作有一個本地化DLL的引用問題(我們稱之爲X.dll)。當我構建CA項目時,我可以在bin文件夾中看到幾個語言文件夾(de,fr,...),每個文件夾都包含與該語言相對應的X.resources.dll。運行安裝程序時出現問題。當它提取CA二進制文件時,語言文件夾不存在;相反,我只能看到一個X.resources.dll文件。 我需要所有這些資源的DLL存在或我的行動將失敗。WIX CustomAction缺少本地化文件夾
有沒有人有一個線索爲什麼發生這種情況,以及爲什麼提取的內容與CA項目的bin文件夾中的內容不一樣?
該設置配置爲構建所有文化。
我嘗試添加文件夾到項目文件,如 $(OutputPath).. \ .. \ de \ File.resources.dll; $(OutputPath).. \ .. \ es CustomActionContents>。 對於第一種情況,File.reosources.dll將被覆蓋,因爲另一種存在另一種語言,並且在程序包中沒有目錄。 在第二個示例中,我嘗試獲取文件夾(es),但它在生成「System.UnauthorizedAccessException:訪問路徑被拒絕時出現錯誤」。 如果不包含文件夾,那麼包含文件就沒有意義,因爲它們會覆蓋其他文件。 –
danis
這就是我所擔心的= /我實際上做了一些查找並發現[this](https://buildmaestro.wordpress.com/2011/08/30/c-dtf-using-locale-net- culture-folder-and-resources-files-for-translations-with-makesfxca-exe /)(< - 超鏈接),它應該正是你想要的! –
感謝您的鏈接。這是我所期望的,除了一件事情:cmd.exe的命令長度限制爲8192個字符。如果具有路徑的文件導致MakeSfx命令長於8192個字符,則它將失敗並顯示錯誤。我會嘗試查看是否可以限制命令長度,或者如果我可以使用替代解決方案(如壓縮Bin文件夾,包括構建中的壓縮文件,然後在實際操作之前向CA方法中提取壓縮文件)。非常感謝您尋找這個解決方案! – danis