我可以使用clickOnce部署MS Access数据库



我已经开发了一个应用程序在.mdb访问文件与表链接到sql server

我试着把mdb文件放在所有用户共享的文件夹中,但同时访问经常破坏文件。

所以我试图将.mdb文件部署到每个客户端机器并保持更新。我已经创建了一个winform应用程序,检查mdb文件版本并将其复制到本地文件夹,然后打开本地副本

但即使这样,如果太多用户同时使用winform启动程序,我也会遇到问题

所以我在想是否有更好更简单的方法:

我可以使用clickonce直接部署访问文件并创建一个愚蠢的webform来启动它吗?

我已经创建了webform,但我如何添加mdb文件来部署进程?我必须把它添加到资源中吗?在这种情况下,嵌入与否?

,在这种情况下,clickonce如何检测访问是修改的访问?

如果我理解正确,您的.mdb文件是SQL Server后端的前端。在这种情况下,是的,每个用户都应该有自己的FE副本。如果你做一个网络搜索,有很多解决方案可以分发Access FE,而不必重新发明轮子。最喜欢的是Tony's Auto FE Updater http://autofeupdater.com/.

最终找到了解决方案:我将db添加到资源中,将构建动作设置为"内容",然后我的program.cs是这样的:

    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        string nomeFile = @"EW.accde";
        string DestinationPath;
        string codeBase = Assembly.GetExecutingAssembly().CodeBase;
        UriBuilder uri = new UriBuilder(codeBase);
        string path = Uri.UnescapeDataString(uri.Path);
        DestinationPath = System.IO.Path.GetDirectoryName(path) + @"Resources";
        Process.Start(DestinationPath + nomeFile);
    }

以这种方式,我只需复制新的db项目,然后深度应用与clickonce

一旦安装应用程序只需启动数据库文件

最新更新