添加到C:\ Windows \ Installer文件夹时,选择.msi安装程序的文件名

时间:2017-01-17 08:49:17

标签: windows-installer

我已经从Visual Studio为Windows应用程序创建了一个.msi安装程序,并通过项目属性框命名了安装程序,例如: MyApplication.msi,那里没有问题。

但是,安装后,Windows将.msi文件夹保存到C:\ Windows \ Installer的安装程序缓存中以进行卸载/重新安装,并将其重命名为4363ab.msi(我知道这是为了防止文件名冲突)。有没有办法防止这种情况发生,所以.msi保存为MyApplication.msi,而不是手动重命名?

我意识到这没有真正的价值,但是我的客户端询问是否可能,因为他们希望任何系统管理员都可以清楚地看到.msi,而不会将鼠标悬停在.msi上或读取文件属性。

1 个答案:

答案 0 :(得分:2)

这是不可能的。这是由用于复制和维护操作的Windows安装程序服务维护的私有缓存。在Windows的早期版本中,它被“剥离”了嵌入式驾驶室,只留下元数据以消耗更少的空间。此剥离使数字证书无效,并导致在使用UAC的Windows Vista中启动时出现问题。你会去卸载,它会说“发布者未经验证”。这让人们惊慌失措,所以从Windows 7开始,MSFT开始在那里缓存完整的MSI。

但是这个缓存仍然不适合我们这是MSI。现在,如果客户端真的想知道这些MSI是什么(或者哪个是那里),那么创建一个MSICacheBrowser.exe以使用API​​调用来获取所有信息并将其显示给用户将是微不足道的。

但你永远不应该触及任何这一点。特别是在生产中。