WiX:将及时显示%AppData%中的数据
WiX项目。我为AutoCAD插件编写安装程序。它在
开始->所有程序->etc
中创建菜单:
此外,我的安装程序创建了%AppData%子文件夹集并将一些可配置文件和DLL复制到其中。这些文件将由我的插件在加载到AutoCAD时使用。即
当我的插件加载到AutoCAD
时,这些文件将存在。
现在我切换到其他Windows用户配置文件。我看到了我的菜单,但在%AppData%中没有看到我的数据。如果我通过
Program Menu
的快捷方式之一打开我的留档或许可证文件,那么我的数据会立即出现在%AppData%文件夹中。很好。请注意,只有当我直接使用快捷方式而不是目标文件时才会发生这种情况。
好的,但可能哪个用户会在没有打开我的留档或许可证文件之前加载我的插件...在这种情况下,我的插件工作所需的数据仍然不存在...我曾希望当AutoCAD加载我的插件时,它的数据会出现在%AppData%中,就像我使用
Program Menu
时发生的那样。但是我错了,在这种情况下,我的数据没有出现在%AppData%中。
所以,我需要用户在Windows中登录时,我的数据会出现在%AppData%中,或者就在AutoCAD加载我的插件之前。或者,也许可以通过C#在我的插件代码中强制Windows OS安装尚未安装在%AppData%中的组件?
我该如何解决?
**** Hidden Message ***** 为了解决此问题,我决定从 MSI 包中排除 %AppData% 填充操作。我会像往常一样做:在我的插件代码中通过Infigination()方法。 你试过安装到默认用户的AppData吗?(在Windows 7中:C:\Users\Default)在您的原始安装中,它只会安装在当前登录用户的%appdata%中。谁安装的。
将内容放在%appdata%中的好处是,对于没有管理员权限的用户来说,该文件夹是可写的。这些用户无法写入程序文件等。另请查看是否存在为所有用户安装%Appdata%的Wix设置,而不仅仅是当前用户。不知道有没有。
我现在在一台用户权限非常有限且没有Windows更新的虚拟机上测试我的安装。许多企业的系统看起来是这样的,我认为这是因为他们的IT部门是一群懒惰的弱智,他们足够聪明,可以骗过管理层,而管理层对技术的了解就像普通的福克斯新闻频道演示者一样。 这种行为似乎是其他用户安装的需求。但是我没有为每个我的快捷方式设置“广告”属性“是”值...
我知道。
不。每个用户都应该拥有自己的 CUI、CUIX 和 MNR 文件的副本,
因为他可以根据需要编辑它们,并且这些更改不会应用于其他用户设置中的首选项
。BUNDLE管理器自AutoCAD 2013以来出现,但我为AutoCAD 2009及更高版本编译了我的扩展。即AutoCAD 2009-2012没有捆绑管理器。旧的AutoCAD版本没有将菜单文件复制到用户配置文件中。
因此,如果菜单文件位于只读目录中,如果此目录没有 MNR 文件(对于该 CUI\CUIX),或者如果用户想要编辑菜单,则用户会遇到旧 AutoCAD 版本的问题。
重要的是要考虑在目录中安装应用程序的可能性,该目录将仅可用于用户读取。因此,对于旧的AutoCAD版本,我在使用AutoCAD的每个用户的配置文件中创建CUI和CUIX文件的副本。
页:
[1]