title: Windows Form program can not find mdb file (C:\windows\system32\qbcdb.mdb)
body: <p>Recently I have run into the issue of the C# program I am creating throwing an exception <code>Could not find file C:\windows\system32\qbcdb.mdb</code>. It's odd because I have never ran into this issue before when deploying my program via Advanced Installer. I didn't change anything but for some reason this error keeps happening (screenshot of the exception box - <a href="https://imgur.com/1GLhwmg" rel="noreferrer">http://imgur.com/1GLhwmg</a>). </p>
  
  <p>I've no idea on what to include in this question to help explain my problem more, so here is my App.config file (read on a site it may be tied to that, but again, I've never had any issues so far):</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  &lt;configuration&gt;
      &lt;configSections&gt;
      &lt;/configSections&gt;
      &lt;connectionStrings&gt;
          &lt;add name="QBC.Properties.Settings.qbcdbConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\qbcdb.mdb"
              providerName="System.Data.OleDb" /&gt;
      &lt;/connectionStrings&gt;
      &lt;startup&gt; 
          &lt;supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /&gt;
      &lt;/startup&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>Insert into db method:</p>
  
  <pre><code>#region inserts the data into the database
  private void InsertData()
  {
     using (dbConn)
     {
        dbConn.Open();
  
              using (dbCmd = new OleDbCommand("INSERT INTO members (household_head, birthday, phone, email, address, status, spouse, spouse_birthday, spouse_phone, spouse_email, " +
                "anniversary, spouse_status, child1, child1_birthday, child1_email, " +
           "child2, child2_birthday, child2_email, child3, child3_birthday, child3_email, child4, child4_birthday, child4_email, child5, child5_birthday, child5_email," +
           "child6, child6_birthday, child6_email, child7, child7_birthday, child7_email) " +
           "VALUES (@txtBox_householdHead, @txtBox_householdHeadBirthday, @txtBox_householdHeadPhone, @txtBox_householdHeadEmail, @txtBox_householdHeadAddress, @txtBox_householdHeadStatus, " +
           "@txtBox_spouse, @txtBox_spouseBirthday, @txtBox_spousePhone, @txtBox_spouseEmail, @txtBox_Anniversary, @txtBox_spouseStatus, " +
           "@txtBox_child1, @txtBox_child1Birthday, @txtBox_child1Email, " +
           "@txtBox_child2, @txtBox_child2Birthday, @txtBox_child2Email, @txtBox_child3, @txtBox_child3Birthday, @txtBox_child3Email, @txtBox_child4, @txtBox_child4Birthday, @txtBox_child4Email, " +
           "@txtBox_child5, @txtBox_child5Birthday, @txtBox_child5Email, @txtBox_child6, @txtBox_child6Birthday, @txtBox_child6Email, @txtBox_child7, @txtBox_child7Birthday, @txtBox_child7Email)", dbConn))
              {
                  try
                  {
                      InsertDBParameters(ref dbCmd);
  
                      dbCmd.ExecuteNonQuery();
                  }
                  catch (OleDbException ex)
                  {
                      MessageBox.Show(ex.ToString());
                      return;
                  }
                  finally
                  {
                      dbConn.Close();
                  }
              }
  
  
              MessageBox.Show("Record inserted.");
  
              ClearAll(this);
          }
  
  
  }
  #endregion
  
  
  #region creates the db parameters
  private void InsertDBParameters(ref OleDbCommand cmd)
  {
  
      foreach (Control c in Controls)
      {
          if (c is TextBox)
          {
              listOfTextboxes.Add(new KeyValuePair&lt;string, string&gt;(((TextBox)c).Name, ((TextBox)c).Text));
              }
          }
  
          for (int i = 0; i &lt; listOfTextboxes.Count; i++)
          {
              cmd.Parameters.AddWithValue(String.Format("@{0}", listOfTextboxes[i].Key.ToString()), listOfTextboxes[i].Value);
          }
  
  
  
   }
   #endregion
  </code></pre>
  
  <p>Select from db method -</p>
  
  <pre><code>#region displays all members in the database
  private void MenuViewMembers_Click(object sender, EventArgs e)
  {
          // hide any controls left that may be left over from another option
          HideAllControls(this);
  
  
  
          qbcDataGridView.Font = new Font(qbcDataGridView.Font.FontFamily, 10);
  
          qbcDataGridView.Location = new Point(30, 100);
  
          qbcDataGridView.Size = new Size(1500, 500);
  
  
          dbConn.Open();
  
          DataTable dt = new DataTable();
  
  
          DbAdapter = new OleDbDataAdapter("select ID, household_head AS head, birthday, phone, email, address, status, spouse, spouse_birthday AS sbirthday, spouse_email AS semail, anniversary," +
              " spouse_status AS sstatus," +
              "child1, child1_birthday AS birthday1, child1_email AS email1, child2, child2_birthday AS birthday2, child3, child3_birthday AS birthday3, child3_email AS email3, " +
              "child4, child4_birthday AS birthday4, child4_email AS email4, child5, child5_birthday AS birthday5, child5_email AS email5," +
              "child6, child6_birthday AS birthday6, child6_email AS email6, child7, child7_birthday AS birthday7, child7_email AS email7 from members", dbConn);
          DbAdapter.Fill(dt);
  
          for (int i = dt.Columns.Count - 1; i &gt;= 0; i--)
          {
              if (dt.AsEnumerable().All(row =&gt; row[i].ToString() == ""))
              {
                  dt.Columns.RemoveAt(i);
              }
          }
  
          qbcDataGridView.DataSource = dt;
  
  
          qbcDataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
  
          qbcDataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
  
          qbcDataGridView.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
  
  
          dbConn.Close();
  
          Controls.Add(qbcDataGridView);
  }
  #endregion
  </code></pre>
  
  <p>Inside visual studio, it runs fine, but when I build a msi for it with advanced installer, I receive that error message when I try to insert/select from the database. </p>
  
  <p>I'm sorry if this is not enough information, I don't know what really to provide to help explain my situation.</p>
  
  <p>Thanks!</p>