【发布时间】:2010-08-02 06:01:10
【问题描述】:
我有一个 vb6 activex 文档项目,我需要创建一个在没有任何用户界面和用户干预的情况下运行的 msi 包(这是必需的,因为它必须通过活动目录进行部署)。我按照以下步骤操作:
我使用 Visual Studio 安装程序创建了一个 msi 项目并删除了所有用户界面。手动将所有 vbd 文件添加到项目中,编译它。当我运行 msi 时,它会在没有提示的情况下安装所有文件,但应用程序没有运行。
我使用打包和部署向导创建了一个包,然后打开了 vb pdw 项目的源代码,注释了所有消息框,并在需要的地方分配了默认值。然后编译 setup.exe 文件并用之前创建的安装包上的 setup.exe 复制/覆盖它。当我像“setup.exe -s install.log”这样从命令提示符运行它时,它在没有提示的情况下安装了应用程序,效果很好。并且应用安装后运行良好。
所以我决定使用 Visual Studio 2008 创建一个 msi 包并添加上面创建的安装包(使用包和部署向导)。在自定义操作中,我将 setup.exe 设置为使用“-s install.log”参数运行。我需要一个包含 App 路径的注册表项,因此我将其添加到注册表设置部分。
另一个要求是我需要在安装后运行另一个自解压 exe。该自解压器将查看上述注册表项并提取(覆盖)App 路径上的文件。
所以使用自定义操作,我将 update.exe 设置为在安装后运行。
现在,当我运行msi时,它运行良好,安装后运行update.exe,一切正常;但只是有时。我无法预测它何时有效,何时无效。当我在其他几台机器上尝试相同的 msi 时,它在某些机器上工作,而在其他机器上却不行。 当我检查“添加或删除程序”时,这个应用程序有很多条目。
我一直在为这个 msi 项目苦苦挣扎,现在我感到很无助。我不知道我做错了什么。如果有人能指出我正确的方向,我将不胜感激。
有没有其他方法可以在不提示的情况下为vb6 activex文档项目创建安装包?
【问题讨论】:
标签: installation activex project document