最近一直忙于缅甸大选的投票系统,做Windows客户端给缅甸的人民用。由于种种原因我们用SQLCipher做客户端的数据库,Golang做中间的数据层。
我们的SQLCipher的Golang驱动是通过SQLCipher和SQLite驱动 [https://github.com/mattn/go-sqlite3]
修改来的,中间用了很多cgo的混合编码,其中就有著名的加密库OpenSSL。
编译好的exe文件直接执行的话会报missing libeay32.dll的错误。
之前我们的做法是把编译后的libeay.ddl放到系统目录C:/windows/system32文件下,这个文件下的所有dll
文件都是可以被任何应用共享的,问题自然就解决了。但是有一个问题是需要管理员确认才能将文件复制到该目录,所以我们就需要一个window
installer去复制文件,其中还需要用户确认。现在我们的需求是解决这个问题,在这个项目之前我从来没有任何windows的经验,所有的经验都是以前用windows和google
来的。所以我搜索golang load dll go use static li