将提升安装的用户配置文件更改为自定义操作运行exe的本地配置文件

时间:2014-11-20 05:10:56

标签: c# wix installation windows-installer

我正在安装具有提升权限的每台计算机.msi,它在安装完成之前运行exe。这个exe改变了很多不同的东西,其中一个需要使用我使用environment.specialfolder.userprofile枚举的本地用户配置文件。问题是我的exe和msi需要以提升的权限运行,因此它使用管理员用户配置文件。

这个问题与这个问题非常相似:Run unelevated custom action from a WiX elevated installer

关于如何解决这个问题的任何想法,而不是拉出exe的非提升动作并创建另一个自定义动作?

1 个答案:

答案 0 :(得分:0)

我有几点想法。第一个是进程外EXE通常是一个坏主意,因为你失去了MSI的声明性,事务性质。 MSI无法撤消,监控,修复它不知道的内容。管理员无法查看或转换EXE正在执行的操作。

第二是管理每用户数据是一种痛苦。但是,如果必须这样做,最好的方法是将每台机器的内容拆分为一个自定义操作,并将每个用户的内容分成另一个。然后使用Active Setup注册表项检测另一个用户配置文件何时进入范围并在修复模式下运行MSI以将每用户数据应用于新的当前用户。

我必须知道这个EXE正在做些什么来为您提供最佳实践建议,以提高安装程序的整体质量。