以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]项目发布后的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117268)

--  作者:chnfo
--  发布时间:2018/4/9 19:23:00
--  [求助]项目发布后的问题
我的项目发布时,做了一系列的设置,包括:

图片点击可在新窗口打开查看此主题相关图片如下:发布设置.png
图片点击可在新窗口打开查看

在项目的BeforeConnectOuterDataSource事件中,代码如下:
\'\'\'
If e.name = "XYZ" Then
    Dim s As String  = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & e.ProjectPath  & "AAA.accdb;Persist Security Info=False;Jet OLEDB:Database Password=abcdef"
    If Connections.TryConnect(s) = False Then
        e.HideSplashForm = True
        MessageBox.Show("数据源无法连通!请检查数据库或者网络,再打开本程序。")
        Syscmd.Project.Exit()
        Return
    Else
        e.ConnectionString = s
    End If
End If

问题:
1、项目发布之后,在Publish文件夹中,仍然可以Ctrl+发布后的项目.exe打开项目,只是我隐藏了表名,不能做表事件等编辑等。但仍然可以在界面上选择隐藏列等等,把数据库的表结构调出来。---------如何让用户按Ctrl+运行程序名都无效?
2、项目发布之后,我修改了access的密码,然后在Publish文件夹中,运行发布后的项目.exe,先是弹窗提示:数据源无法连通!请检查数据库或者网络,再打开本程序。点击确定关闭了这个弹窗之后,接着就弹出下面这个窗口
---------------------------
错误
---------------------------
创建外部连接"XYZ"失败,请联系管理员或开发者,重新设置数据链接字符串!
---------------------------
确定   
---------------------------

点击确定之后,就显示了链接数据源的窗口,在这里就可以看到加密的数据库的密码。

------所以,用户如果建一个完全相同的表名,但设置了一个错误的密码,用这种方式仍然可以知道真正的密码。
------怎么避免这种情况?


--  作者:有点蓝
--  发布时间:2018/4/9 21:00:00
--  
测试了一下,不会有这些问题。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb


你是什么版本的狐表?做个例子发过来测试



--  作者:chnfo
--  发布时间:2018/4/9 22:08:00
--  
使用的版本是2018-03-09
测试的样例如附件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:发布项目的问题.zip
操作步骤如附件:

图片点击可在新窗口打开查看此主题相关图片如下:01设置外部数据源.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:02设置项目事件.png
图片点击可在新窗口打开查看





--  作者:chnfo
--  发布时间:2018/4/9 22:09:00
--  
继续

图片点击可在新窗口打开查看此主题相关图片如下:03发布前设置项目属性.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:04发布项目基本设置.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:05发布项目高级设置.png
图片点击可在新窗口打开查看




--  作者:chnfo
--  发布时间:2018/4/9 22:09:00
--  
继续

图片点击可在新窗口打开查看此主题相关图片如下:06发布之后的publish.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:07publish的project下的数据库文件.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:08ctrl+双击发布程序报错.png
图片点击可在新窗口打开查看




--  作者:chnfo
--  发布时间:2018/4/9 22:09:00
--  
继续

图片点击可在新窗口打开查看此主题相关图片如下:09报错之后点击确定再弹出设置外部数据源窗口.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:10最终的设置数据源窗口.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2018/4/9 22:20:00
--  
点击用户管理:http://www.foxtable.com/webhelp/scr/0607.htm

随便添加一个用户,不添加用户默认就是开发者登录

--  作者:chnfo
--  发布时间:2018/4/9 22:31:00
--  
没有解决我的问题呀。
我是说已经发布的项目,是指publish中的“已经发布的项目.exe“仍然可以按住Ctrl+双击打开,而且一直到显示链接数据源为止。

我是不希望已经发布的项目,被用户以这种方式打开;而且更不能忍受的是,数据库的密码就这么显示出来了。

--  作者:有点蓝
--  发布时间:2018/4/9 22:41:00
--  
添加一个用户,在重新发布,就不会显示链接数据源了
--  作者:chnfo
--  发布时间:2018/4/9 23:05:00
--  
其实我是要做一个工具级的东西,不需要什么用户名密码之类的管理,但不能让用户直接打开数据库文件(除非他知道密码)。
添加一个用户X之后,重新发布。新问题出来了
1、发布后的程序,双击时,会首先出来用户登录窗口,用户名要选择开发者或X------这个实际上应当略过。
2、如果数据库文件不存在或者密码错误,仍然会弹出报错窗口,只是不会再弹出设置数据源的窗口了。
---------------------------
错误
---------------------------
创建外部连接"XYZ"失败,请联系管理员或开发者,重新设置数据链接字符串!
---------------------------
确定   
---------------------------


[此贴子已经被作者于2018/4/9 23:06:10编辑过]