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

Windows installer 当添加到C:\Windows\installer文件夹时,选择.msi安装程序的文件名,windows-installer,Windows Installer,我已经从Visual Studio为Windows应用程序创建了一个.msi安装程序,并通过“项目属性”框命名该安装程序,例如MyApplication.msi,没有问题 但是,安装后,Windows会将.msi文件夹保存到C:\Windows\installer的安装程序缓存中,以便卸载/重新安装,并将其重命名为4363ab.msi(我知道这是为了防止文件名冲突)。是否有任何方法可以防止这种情况发生,从而将.msi保存为MyApplication.msi,而不是手动重命名它 我意识到这没有真正

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

但是,安装后,Windows会将.msi文件夹保存到C:\Windows\installer的安装程序缓存中,以便卸载/重新安装,并将其重命名为4363ab.msi(我知道这是为了防止文件名冲突)。是否有任何方法可以防止这种情况发生,从而将.msi保存为MyApplication.msi,而不是手动重命名它


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

这是不可能的。这是由windows installer服务维护的专用缓存,用于恢复和维护操作。在以前的Windows版本中,它被“剥离”了嵌入式CAB,只留下元数据,从而消耗更少的空间。此剥离使数字证书无效,并导致在使用UAC的Windows Vista中启动时出现问题。你会去做一个卸载,它会说“出版商未验证”。这吓坏了人们,所以从Windows7开始,MSFT开始在那里缓存完整的MSI

但那个缓存仍然不是为我们准备的,而是为MSI准备的。现在,如果客户机真的想知道这些MSI是什么(或者是哪一个),那么创建一个MSICacheBrowser.exe来使用API调用来获取所有信息并将其显示给用户就很简单了


但你不应该碰这些东西。尤其是在生产中。

这是不可能的。这是由windows installer服务维护的专用缓存,用于恢复和维护操作。在以前的Windows版本中,它被“剥离”了嵌入式CAB,只留下元数据,从而消耗更少的空间。此剥离使数字证书无效,并导致在使用UAC的Windows Vista中启动时出现问题。你会去做一个卸载,它会说“出版商未验证”。这吓坏了人们,所以从Windows7开始,MSFT开始在那里缓存完整的MSI

但那个缓存仍然不是为我们准备的,而是为MSI准备的。现在,如果客户机真的想知道这些MSI是什么(或者是哪一个),那么创建一个MSICacheBrowser.exe来使用API调用来获取所有信息并将其显示给用户就很简单了

但你不应该碰这些东西。特别是在生产方面