windows - Golang MSI 在 Windows 上看不到已安装的驱动器
问题描述
所以我有一个 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。该程序正在承担系统用户角色,我已经检查了已安装目录的权限(并使其完全打开 - 仍然没有运气)。有一段时间我一直在用头撞墙,所以问题是:还有其他人遇到过这样的问题吗?
不知道这会有多大帮助,但这是我正在使用的 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 程序的系统用户查看已安装的网络驱动器。
解决方案
推荐阅读
- angular - Angular Material Date Picker 从注入的服务值中选择开始日期
- java - Java同步块对象与此
- javascript - 使用角度 4 进行业力测试期间出现错误“缺少:SyncTestZoneSpec”
- selenium-webdriver - Selenium/Katalon 替代 :visible 选择器
- android - Android Profiler 未出现在 Android Studio 中
- mongodb - Mongodb Atlas: MongoError: user is not allowed to do action [insert] on [test.products]
- python - 使用python勾选数据重组
- python - python在使用scapy时打印出奇怪的线条
- elasticsearch - Stormcrawler 速度慢,延迟高,爬取 300 个域
- javascript - 如何检查 GeoJSON 特征是否为矩形并找到角坐标?