咨询VSTO加载项安装时VSTOInstaller生成文件的其他存储路径
我之前开发VSTO加载项时也碰到过类似的困惑,除了你已经找到的C:\Users\[user]\AppData\Roaming\Microsoft\Excel\[name of add-in]路径外,VSTOInstaller(基于ClickOnce部署机制)还会在以下几个关键位置创建文件、缓存或元数据:
ClickOnce核心缓存目录:
C:\Users\[user]\AppData\Local\Apps\2.0
这个是所有ClickOnce应用(包括VSTO加载项)的默认缓存位置,里面的子文件夹都是加密命名的,存储着加载项的安装包、更新文件和运行时依赖。你可以通过修改时间筛选出和你的加载项对应的文件夹,或者直接运行命令rundll32 dfshim.dll,ShOpenVerbFolder快速打开这个缓存根目录。VSTO解决方案元数据目录:
C:\Users\[user]\AppData\Roaming\Microsoft\VSTO\SolutionMetadata
这里保存着加载项的部署元数据,包括版本信息、激活状态、部署URL等内容。如果加载项出现启动异常或版本冲突,清理该目录下对应加载项的文件往往能解决问题。Office临时文件缓存目录:
C:\Users\[user]\AppData\Local\Microsoft\Office\<Office版本号>\OfficeFileCache
比如Office 2016/2019/365对应的版本号是16.0,Office 2013是15.0。当加载项与Office文档有实时交互或关联操作时,会在这里生成临时缓存文件。每机器安装(Per-Machine)的路径:
如果你的加载项是按每机器部署的(而非默认的每用户),还会涉及这些路径:- VSTOInstaller的程序路径:
C:\Program Files\Microsoft Office\Root\VSTO Installer(64位Office)或C:\Program Files (x86)\Microsoft Office\Root\VSTO Installer(32位Office) - 全局元数据和缓存:
C:\ProgramData\Microsoft\VSTO
- VSTOInstaller的程序路径:
另外一个实用技巧:你可以通过运行VSTOInstaller.exe /log "<你的日志路径>"生成详细的安装日志,日志里会清晰记录所有被创建或访问的文件路径,方便你精准定位。
内容的提问来源于stack exchange,提问作者Merendandum

