2015-10-20 44 views
0

我不知道這是否是維克斯或Visual Studio的問題,但這裏有雲:如何在我的Wix安裝程序中使用外部文件?

我已經基本上創建了一個小的安裝程序,安裝PowerShell的模塊來%USERPROFILE%\WindowsPowerShell\Modules\DatabaseUserManagement。在我.wxs文件的目錄樹是這個樣子:

<Directory Id="TARGETDIR" 
       Name="SourceDir"> 
     <Directory Id="PersonalFolder"> 
     <Directory Id="WindowsPowerShellDir" 
        Name="WindowsPowerShell"> 
      <Directory Id="ModulesDir" 
        Name="Modules"> 
      <Directory Id="DatabaseUserManagementDir" 
         Name="DatabaseUserManagement"> 
       <Component Id="CMP_DatabaseUserManagementDLL" 
         Guid="MY-GUID-HERE"> 
       <File Id="FILE_DatabaseUserManagementDir_DatabaseUserManagementDLL" 
         Source="Files\DatabaseUserManagement.dll" 
         KeyPath="yes"/> 
       </Component> 
      </Directory> 
      </Directory> 
     </Directory> 
     </Directory> 
    </Directory> 

現在,這並不編譯,因爲DatabaseUserManagement.dll實際上是加入到溶液爲紐帶,因此在「文件」的子目錄不存在。

誤差足夠簡單:
The system cannot find the file 'Files\DatabaseUserManagement.dll'.

我想要做的是,當生成項目,我希望它複製的DLL從它原來的位置(例如起見,讓我們說這是C:\ Files \ DatabaseUserManagement.dll)添加到「文件」子目錄下的項目中,然後構建項目。

有什麼辦法來實現這一點,或者我有我每次更新時手動複製此DLL?

回答

1

如果解決方案中的其他項目引用了DLL,只要在屬性中將Copy to local設置爲true,就可以可靠地將其從該項目的輸出文件夾中取出。

另外一個預生成事件可以將文件複製到你需要的位置。

相關問題