我正在尝试编写一个插件(实际上是一个Visual Studio模板向导,用于生成插件),以便为现有应用程序添加功能。作为插件安装的一部分,我必须将条目插入配置数据库中。通常,有多个DLL对应于不同部分的功能,每个部分都需要在相同的表中添加条目,但通常具有不同的表项组合。我需要从我的安装程序中添加这些内容。
出于政策原因,所有内容都使用C#编写。
我目前正在使用Visual Studio Installer(VS2010)创建安装程序。我更喜欢使用可能已安装在用户计算机上的东西来保持模板/向导安装的简单性,但如果必要的话,我可以捆绑/链式安装开源(或至少可以自由重新分发)的替代安装程序。
例如,要向应用程序添加菜单项,我必须将条目插入到几个表中。过去,我使用安装程序助手(有时是应用程序,有时是安装程序类)从安装程序中调用来完成此操作。在那种设计中,我会将需要添加到配置表中的设置嵌入到安装程序助手中,然后通过C#执行SQL来实际进行添加。
问题在于这导致了相同信息在两个地方重复,并且在向导环境中不太可维护或干净。我真的希望能够从一些可以在插件程序集上设置的属性中自省此信息。
但是我在第一步就遇到了问题-我的Installer类如何找出由此安装安装的程序集(或将要安装的程序集)?
我确实考虑过尝试将DLL列表嵌入自定义安装程序属性中,但从我的插件向导生成它将很困难。理想情况下,我可以注册某些现有事件,或者可以读取某些现有属性,但我还没有发现它。
出于政策原因,所有内容都使用C#编写。
我目前正在使用Visual Studio Installer(VS2010)创建安装程序。我更喜欢使用可能已安装在用户计算机上的东西来保持模板/向导安装的简单性,但如果必要的话,我可以捆绑/链式安装开源(或至少可以自由重新分发)的替代安装程序。
例如,要向应用程序添加菜单项,我必须将条目插入到几个表中。过去,我使用安装程序助手(有时是应用程序,有时是安装程序类)从安装程序中调用来完成此操作。在那种设计中,我会将需要添加到配置表中的设置嵌入到安装程序助手中,然后通过C#执行SQL来实际进行添加。
问题在于这导致了相同信息在两个地方重复,并且在向导环境中不太可维护或干净。我真的希望能够从一些可以在插件程序集上设置的属性中自省此信息。
但是我在第一步就遇到了问题-我的Installer类如何找出由此安装安装的程序集(或将要安装的程序集)?
我确实考虑过尝试将DLL列表嵌入自定义安装程序属性中,但从我的插件向导生成它将很困难。理想情况下,我可以注册某些现有事件,或者可以读取某些现有属性,但我还没有发现它。