Visual studio dark.exe(来自WiX)是从MSI提取信息的可靠方法吗?
。。。如果是,为什么我不能使用Visual studio dark.exe(来自WiX)是从MSI提取信息的可靠方法吗?,visual-studio,wix,regsvr32,Visual Studio,Wix,Regsvr32,。。。如果是,为什么我不能使用SelfRegCost=“0” 所以这可能有点哲学性;) 基本问题是:我必须在安装过程中注册ShellExtension DLL。当使用普通的VS2008部署时,我有一个自定义操作,它在我的dll上运行一个regsvr32。然后在我的WiX设置中,我做了同样的操作,即使卸载时取消注册(/u)。这个很好用 直到前几天,我遇到了一个问题,一些第三方DLL在卸载Visual Studio安装程序后失去了注册。我发现安装覆盖了DLL的默认位置。我发现可以将Register属
SelfRegCost=“0”
所以这可能有点哲学性;)
基本问题是:我必须在安装过程中注册ShellExtension DLL。当使用普通的VS2008部署时,我有一个自定义操作,它在我的dll上运行一个regsvr32。然后在我的WiX设置中,我做了同样的操作,即使卸载时取消注册(/u)。这个很好用
直到前几天,我遇到了一个问题,一些第三方DLL在卸载Visual Studio安装程序后失去了注册。我发现安装覆盖了DLL的默认位置。我发现可以将Register
属性从vsdrfCOMSelfReg
更改为vsdrfDoNotRegister
,现在我的设置不再覆盖默认位置
这使我想到我可以使用相同的属性来注册我的ShellExtension DLL。因此,让我们在VS设置中使用dark,看看vsdrfCOMSelfReg
的翻译是什么。我发现唯一的区别是文件
标记中的属性SelfRegCost=“0”
但是根据本文()使用SelfRegCost是baaad,很多事情都出错了。可能吧
现在我的理由是:要么
a) dark.exe不是从MSI或MSI中提取信息的可靠方法
b)
SelfRegCost=“0”
的使用并不像每个人假装的那样糟糕,因为Visual Studio一直在使用它?Visual Studio正在公开功能;这并不意味着使用它是个好主意。自注册是不好的,应该通过使用WiX元素(如Class和ProgId)显式编写COM注册来避免;这并不意味着使用它是个好主意。自注册是不好的,应该通过使用WiX元素(如Class和ProgId)显式编写COM注册来避免。Dark旨在反编译回源代码,但不打算通过编译器进行往返。它是一个有用的起点,可以清理代码并进行任何必要的重构,然后构建备份。Dark旨在反编译回源代码,但不打算通过编译器进行往返。这意味着它是清理代码、进行任何必要的重构然后重新构建代码的有用起点