Прежде всего, этот код, который вы разместили, является неверным:
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\solutionvs10\test\test\bin\Debug\db2.mdb;**Jet OLEDB:Database Password=secret**")
cn.Open()
''# codes
cn.Close()
Причина, по которой это неправильно, заключается в том, что вам не гарантировано закрытие соединений с базой данных, что в конечном итоге приведет к состоянию, когда ваша база данных не будет доступна для вашего приложения. Этого не произойдет при тестировании разработки, потому что такие тесты, как правило, недолговечны, но это произойдет с вашими пользователями, которые, как правило, хранят приложения в течение более длительных периодов времени.
Теперь я знаю, что вы думаете: "Да, я закрываю свои связи. Разве вы не видите cn.Close()
?" Да, я вижу это. Но этого недостаточно. Есть несколько случаев (исключения являются большими), которые могут заставить этот код не работать. Правильный способ написания этого кода выглядит так:
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\solutionvs10\test\test\bin\Debug\db2.mdb;**Jet OLEDB:Database Password=secret**")
Try
cn.Open()
''# codes
Finally
cn.Close()
End Try
И в VB.Net есть сокращенный синтаксис, который выглядит следующим образом:
Using cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\solutionvs10\test\test\bin\Debug\db2.mdb;**Jet OLEDB:Database Password=secret**")
cn.Open()
''# codes
End Using ''# No need to call .Close() any more, the Using structure takes care of it
Теперь перейдем к актуальному вопросу развертывания.
Вам необходимо добавить проект установки в то же решение, в котором находится проект приложения. После этого вы сможете использовать выходные данные вашего основного проекта в качестве пакета для проекта установки и включить исходный файл базы данных в качестве ресурса содержимого. Больше ничего не нужно включать в проект установки; Windows включает ядро базы данных Jet, используемое для доступа из коробки. Возможно, вы захотите потратить некоторое время на то, чтобы убедиться, что соответствующая среда выполнения .Net Framework будет также установлена как зависимость.