ClickOnce Install, Cant Find Include Mdb Data File for backup restore 功能

ClickOnce Install, Cant Find Included Mdb Data File for backup restore function

尊敬的先生,

使用 ClickOnce 部署具有 mdb 数据库作为数据文件的应用程序。当尝试备份 mdb 数据库文件时,它会在测试环境调试或发布时进行备份。但是一旦应用程序通过 clickonce 安装,它说无法找到数据库文件。脚本有错误吗?

Private Sub myBackupFunctionOne()
        'Get the database path
        Dim CurrentDatabasePath As String = Environment.CurrentDirectory + "\myDB.mdb"

        Dim fbd As New FolderBrowserDialog()

        If fbd.ShowDialog() = DialogResult.OK Then
            'Set the path where you want to store the backup file
            Dim PathtobackUp As String = fbd.SelectedPath.ToString()

            System.IO.File.Copy(CurrentDatabasePath, PathtobackUp & "\BackUp.MDB", True)

            MessageBox.Show("Back Up SuccessFull! ")
        End If
    End Sub

您忠实的

穆鲁利马达夫

ClickOnce 将数据文件存储在一个特殊的文件夹中。您可以检测应用程序是否在 运行 时间被 ClickOnce 部署,如果是,则获取该文件夹路径,如果不是,则使用程序文件夹路径,例如

Dim dataDirectoryPath = If(ApplicationDeployment.IsNetworkDeployed,
                           ApplicationDeployment.CurrentDeployment.DataDirectory,
                           Application.StartupPath)
Dim databaseFilePath = Path.Combine(dataDirectoryPath, "data.mdb")

请注意,我使用 Application.StartupPath 作为程序文件夹而不是 Environment.CurrentDirectory。由 Environment.CurrentDirectory 编辑的 return 路径可能会在会话过程中发生变化,甚至可能不会作为程序文件夹启动,因此在这种情况下使用它是一个糟糕的选择。另一方面,Application.StartupPath 永远无法更改,并且始终 return 当前应用程序所在的文件夹 运行。