中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Learn more

在Wix中,如何避免在部署registry项时在目标系统上创build物理文件夹?

我有几个相关的Windowsregistry项,我想打包在一个MSI内,所以1)有一个卸载过程,和2)这些registry项已应用到给定的计算机的事实由一个添加/删除程序条目。 问题是我可以让Wix#做到这一点,但我只能得到微星build立,如果所有的registry项都在一个“Dir”块内,这实际上创build一个物理文件夹,我不不要在目标系统上。 作为一个临时的解决方法,我使用了Dir块,指定了一个虚拟的“Temp”文件夹。 安装程序确实创build了我不想要的文件夹; 我想要的只是应用registry项。 WiX文档描述了其基础结构TargetDir,主要是告诉安装程序在目标系统上执行其操作。 见http://wixtoolset.org/documentation/manual/v3/howtos/files_and_registry/write_a_registry_entry.html 在那个原生的WiX XML例子中,似乎在目标系统上不会创build多余的文件夹。 只有所需的registry项将被应用。 我可以使用什么Wix#语法构造来应用registry项,但又不必在目标系统上创build实际的文件夹? 到目前为止,我所见过的所有Wix#示例似乎都有在目标系统上创build实际文件夹的副作用,无论您是否想要。 我知道我可以这样做,通过采取registry项的.reg文件,收集到.wxs文件与热,然后build立到蜡烛和光msi。 我真的想把这个保留在C#/ Wix#世界中。 C#是我的组织中熟知的技能; WiX不那么如此。 (承认Wix#是build立在WiXfunction的基础之上的,对WiX和Windows Installer的理解是必不可less的;这是一个舒适区域,能够使用C#而不是XML,而不是完全合乎逻辑的事情。)目前,我们手动执行了许多这些types的registry设置任务,没有跟踪,也没有简单可靠的卸载。 /// <summary> /// Configure the Event Log on a Windows (server) to have MyApplication Log settings and record an entry for it in Programs and Features. /// Note that this program creates the Windows Installer MSI […]