簡體   English   中英

Visual Studio Project安裝程序未安裝所有dll

[英]Visual Studio Project Installer not installing all dll's

我有一個名為“ start.exe”的C#exe,運行時它將檢查SQL數據庫,如果滿足某些條件,則將文件復制到文件夾中。

這適用於大多數計算機。

但是在某些計算機上,當我嘗試運行它時,出現以下錯誤消息。

System.invalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' is not registered on the local machine

為了解決這個問題,我創建了一個安裝項目,應該添加缺少的.dll。

我創建了設置項目,轉到了application文件夾,添加了該項目的主要輸出。

然后,我對所有文件運行批處理版本,並將msi和setup .exe文件復制到有問題的計算機上並運行它。

它將System.Net.Http.dll和'start.exe'添加到計算機。

當我運行exe時,它仍然給我同樣的錯誤。

我相信消息框來自這些代碼行。

try            
{
     using (var conn = new OleDbConnection(@"Provider =Microsoft.ACE.OLEDB.12.0;Data Source=" + CurFeSource + ";"))
     {
         conn.Open();

         using (var cmdBE = new OleDbCommand("SELECT value FROM Tab1", conn))
         {
             OleDbDataReader rdrBE = cmdBE.ExecuteReader();

             rdrBE.Read();

             be_version = (rdrBE.GetString(0));

             rdrBE.Close();
          }

          using (var cmdFE = new OleDbCommand("SELECT Col FROM Links", conn))
          {
             OleDbDataReader rdrFE = cmdFE.ExecuteReader();

             rdrFE.Read();

             fe_version = (rdrFE.GetString(0));

             rdrFE.Close();
           }
       }
   }

   catch (Exception e)
   {
       MessageBox.Show(e.ToString());
       return false;
   }

編輯:

正如SQLGeorge所說,我需要安裝Microsoft.ACE.OLEDB.12.0。

但是,如何將其添加到安裝項目中。

必須從Microsoft下載Microsoft.ACE.OLEDB.12.0: https : //www.microsoft.com/zh-CN/download/details.aspx?id=13255

摘錄自微軟:

此下載將安裝一組組件,這些組件有助於在現有Microsoft Office文件(例如Microsoft Office Access 2010(*。mdb和.accdb)文件)和Microsoft Office Excel 2010 .xls,*。xlsx和* 之間進行數據傳輸。 xlsb)文件添加到其他數據源,例如Microsoft SQL Server。 還支持與現有文本文件的連接。 已安裝ODBC和OLEDB驅動程序,以供應用程序開發人員在開發與Office文件格式連接的應用程序時使用。

如Microsoft所述:

作為Jet的常規替代品(如果需要Jet的常規替代品,則應使用SQL Server Express Edition )。

暫無
暫無

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

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