0

我正在尝试创建一个设置项目,但我无法相信它会有多痛苦。我尝试使用的工具都没有让我满意。怎么会?走着瞧:

第一个也是最简单的选择:在 Visual Studio 中构建的安装项目。简单快捷。即使您的代码是用 c# 或 vb.net 编写的,您也可以轻松实现自定义操作。正是我想要的。但是这种方法有一些缺点,主要的缺点是实现自定义对话框的方式非常痛苦。例如,如果我需要询问数据库凭据,请授权用户并继续进行其余的安装。但不是。无法在 VS 中构建自定义设置对话框。其实是有办法的,但并不容易。我的意思是,你在开玩笑吗?我必须花一天时间来创建几个简单的对话框?

第二种选择:使用某种工具。像 InstallShield。你必须为此付出代价,是的,幸运的是它非常便宜。只需 5500 美元。没什么大不了的,对吧?好吧,也许吧,但对我来说,这就像“伙计,算了吧”

第三个选项:使用WIX Nice,有很多选择。不像内置的 VS 那样易于使用,但具有许多更好的功能。唯一的问题 - 我花了几个小时试图说服那个东西运行我用 c# 编写的代码。我失败了。没有任何帮助,我放弃了。

现在。请,请我的专家同胞,所有了解的开发人员。帮我。我该怎么办?解决我的问题的最佳方法是什么(相信我,我的老板会杀了我,他喜欢在员工的尸体上取得成果)。

告诉我有没有更好的方法来编辑 .wid 文件。使用 Orca 工具并不是一个简单的解决方案。或者向我展示一个使用 WIX 构建的安装项目的真实示例,该项目可以运行托管 c# 代码。

谢谢!

4

2 回答 2

1

我通过在我的自定义操作中简单地显示一个表单来实现一个自定义对话框。这是一件很简单的事情。

于 2010-07-02T15:25:37.577 回答
1

我不建议使用“设置项目”(又名 Visual Studio 部署项目)或托管自定义操作(在您的上下文中,您指的是 InstalUtil 自定义操作)。

对于托管自定义操作,我使用 Windows Installer XML - DTF(部署工具框架)。这会构建和打包您的 CA,使其在 MSI 的外观和感觉上类似于 C++ CA,这意味着您可以使用 InstallShield、WiX、Wise 等使用它。

我也不建议将 CA 用作假对话。如果您想要一个更高级的 UI,请编写一个外部 UI 处理程序(不是一个简单的任务)。我怀疑你真正的问题是 VDRPOJ 没有很好地暴露这一点,WiX 是很多用 XML 编写的。InstallShield 为您提供了一个用于处理自定义对话框的拖放式 IDE。但这将是它不是免费的众多原因之一。

于 2010-07-04T12:40:16.840 回答