Golang MSI在Windows上看不到已安装的驱动器

时间:2019-05-24 13:44:26

标签: windows amazon-web-services go windows-installer ntfs

因此,我有一个Windows msi安装程序,该安装程序是通过golang程序进行交叉编译而创建的,并安装在客户端Windows机器上。该程序将数据从Windows计算机上的文件夹发送到Kinesis流。该程序对于本地C:\驱动器上的所有文件和文件夹都可以正常运行。
我的问题是,当客户端使用已安装的NTFS驱动器(“ I://,J://,D://”)时,出现

的错误消息
level=info msg="Ignoring target I:\\xml with invalid stat: open I:\\xml: The system cannot find the path specified."

无论已安装的驱动器(E,F,G等),我都会收到相同的错误消息。 我已经在多个客户端上尝试过此操作,并且收到了相同的错误。

所以仅出于背景考虑-我正在使用wine编译程序,以便在构建时将其转换为msi。该程序扮演SYSTEM USER角色,我已经检查了已挂载目录的权限(并使它们完全打开-仍然没有运气)。我的头在墙上撞了一段时间,所以问题是:还有其他人遇到过这样的问题吗?

不知道这有多大帮助,但这是我正在使用的GO代码的特定部分:

p, err := filepath.Abs(t.Path)
            if err != nil {
                Logger.Infof("Ignoring invalid target path: %s, error: %s", t.Path, err)
                continue
            }
            _, err = os.Lstat(t.Path)
            if err != nil {
                Logger.Infof("Ignoring target %s with invalid stat: %s", t.Path, err)
                continue
            }
            c.targets = append(c.targets, site.WatchTarget{p, t.SrcTag})

我尝试了os.Stat,Lstat甚至os.Open无济于事。就在这条线的结尾处。

理想的结果是建议您进行任何更改,以使交叉编译的go程序中的系统用户可以查看安装的网络驱动器。

0 个答案:

没有答案