2017-05-23 78 views
0

我有一個名爲:analysis.dll的C++ dll,我已經設法使用DllImport屬性來包裝它。Universal App Interop Dll和內容文件

這個DLL以某種方式加載一個名爲analysis.sys的文件,其中包含一個許可證密鑰。

我已經添加了我的兩個DLL我UWP項目,並設置以下選項:

  • analysis.dll
    • 生成操作:Content
    • 複製到輸出目錄:Copy if newer
  • analysis.sys
    • 生成操作:Content
    • 複製到輸出目錄:Copy if newer

的主要問題是,analysis.dll被加載,我們可以使用的方法由於包裹(與DllImport) ,但是這個DLL無法加載analysis.sys文件。

我做這個測試有一個WPF應用程序和它的作品完美...

爲什麼它不會與UWP工作?我錯過了什麼嗎?

回答

0

您的UWP軟件包只能包含應用程序代碼,而不能包含系統代碼。它無法將驅動程序部署到用戶的系統,因爲安裝程序需要能夠在沒有提升的情況下運行。

+0

謝謝你的回答。 'analysis.sys'文件更像是一個文本文件,其中存儲了dll的許可證密鑰。也許該DLL做一些需要提升級別的東西? – Eastrall

+0

什麼是故障的確切點以及錯誤信息/代碼是什麼?你說你不能加載analysis.sys。你如何嘗試加載它? –

+0

簡單來說,DLL需要SYS文件才能工作。因爲sys文件包含許可證密鑰。我假設DLL加載SYS鍵,因爲如果你刪除這個文件,我的WPF測試應用程序就不再工作了。 關鍵是,當我的WPF測試應用程序有兩個文件,它運作良好。刪除SYS文件,它不再工作。 在UWP上嘗試了相同的操作,即使SYS文件也不起作用。 – Eastrall