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

时间:2015-08-18 10:15:33

标签: c# .net ms-access clickonce

我在.mdb访问文件中开发了一个应用程序,其中的表链接到sql server

我尝试将共享文件夹中的mdb文件输出到所有用户,但同时访问会经常破坏文件。

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

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

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

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

我创建了webform但是如何将mdb文件添加到部署过程中?我必须将它添加到资源?在那种情况下嵌入或不嵌入?

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

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您的.mdb文件是SQL Server后端的前端。在这种情况下,是的,每个用户都应拥有自己的FE副本。如果您进行网络搜索,则可以使用许多解决方案来分发Access FE,而无需重新发明轮子。最受欢迎的是Tony的Auto FE Updater http://autofeupdater.com/

答案 1 :(得分:-1)

最终找到解决方案: 我将数据库添加到资源,将构建操作设置为"内容",然后我的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);
    }

通过这种方式,我只需复制项目中的新数据库,然后使用clickonce来删除应用程序

安装完app后,只需启动数据库文件

即可