Visual studio 2010 将PostgreSQL安装程序添加到我自己的应用程序安装程序
我创建了一个VisualStudio2010安装程序项目,并向其中添加了Visual studio 2010 将PostgreSQL安装程序添加到我自己的应用程序安装程序,visual-studio-2010,postgresql,installation,Visual Studio 2010,Postgresql,Installation,我创建了一个VisualStudio2010安装程序项目,并向其中添加了postgresql-9.2.401-windows.exe文件。在“提交”自定义操作中,我添加了该文件,删除了所有参数,并将InstallerClass设置为False 现在,当我运行应用程序的安装程序时,PostgreSQL安装程序启动,显示其初始屏幕,然后跳到100%CPU使用率,并开始长时间(肯定超过几分钟)泄漏内存,然后退出。在那台计算机上运行.exe 我应该如何在安装程序中打包PostgreSQL?我个人不喜欢静
postgresql-9.2.401-windows.exe
文件。在“提交”自定义操作中,我添加了该文件,删除了所有参数,并将InstallerClass
设置为False
现在,当我运行应用程序的安装程序时,PostgreSQL安装程序启动,显示其初始屏幕,然后跳到100%CPU使用率,并开始长时间(肯定超过几分钟)泄漏内存,然后退出。在那台计算机上运行.exe
我应该如何在安装程序中打包PostgreSQL?我个人不喜欢静默安装标准的PostgreSQL for Windows的程序。收到邮件列表帖子的人问“PostgreSQL是什么,为什么它使用了8800亿兆的RAM,我没有要求,现在就删除它!”这让人非常恼火 (是的,我主要谈论的是一个恼人的赌卡计数程序,缩写为PT,我不会直接提到它的名字) 如果您要捆绑PostgreSQL,最好使用非默认端口和非默认数据目录。如果您安装了自动启动的服务,请不要使用默认的服务名称
postgresql-[version]
,而是使用类似于myapp-database
或myapp-postgres
的名称
如果您只需在安装程序中捆绑PostgreSQL二进制文件,然后使用安装程序工具或通过sc.exe
创建服务,那么这一切都会更容易完成。您可以选择从程序中简单地启动/停止服务器,尽管这需要考虑对数据目录的访问权限
缺点是,当有PostgreSQL更新时,您需要更新安装程序。另一方面,您可能不希望人们独立于您的软件更新升级PostgreSQL
我建议使用中的.zip二进制文件,并将它们直接绑定到安装程序中
如果您真的必须使用可执行安装程序。我个人不喜欢静默安装标准PostgreSQL for Windows的程序。收到邮件列表帖子的人问“PostgreSQL是什么,为什么它使用了8800亿兆的RAM,我没有要求,现在就删除它!”这让人非常恼火 (是的,我主要谈论的是一个恼人的赌卡计数程序,缩写为PT,我不会直接提到它的名字) 如果您要捆绑PostgreSQL,最好使用非默认端口和非默认数据目录。如果您安装了自动启动的服务,请不要使用默认的服务名称
postgresql-[version]
,而是使用类似于myapp-database
或myapp-postgres
的名称
如果您只需在安装程序中捆绑PostgreSQL二进制文件,然后使用安装程序工具或通过sc.exe
创建服务,那么这一切都会更容易完成。您可以选择从程序中简单地启动/停止服务器,尽管这需要考虑对数据目录的访问权限
缺点是,当有PostgreSQL更新时,您需要更新安装程序。另一方面,您可能不希望人们独立于您的软件更新升级PostgreSQL
我建议使用中的.zip二进制文件,并将它们直接绑定到安装程序中
如果您真的必须使用可执行安装程序。我不会在静默状态下进行安装,并在安装程序和文档中对其进行详细说明。它是整个系统的重要组成部分。我一直在研究.zip捆绑包,并将在稍后阶段实现它(我现在有一个截止日期…)。我一直在研究Inno设置,它比VS设置项目容易得多。@BartFriederichs你会发现从一个更改到另一个非常痛苦,但是,嗯,取决于你。看,它不必在不同版本之间保持工作。我现在正在构建/打包的是内部beta测试。该版本将获得ZIP捆绑版本。我不打算在静默中完成它,并在我的安装程序和文档中对其进行详细说明。它是整个系统的重要组成部分。我一直在研究.zip捆绑包,并将在稍后阶段实现它(我现在有一个截止日期…)。我一直在研究Inno设置,它比VS设置项目容易得多。@BartFriederichs你会发现从一个更改到另一个非常痛苦,但是,嗯,取决于你。看,它不必在不同版本之间保持工作。我现在正在构建/打包的是内部beta测试。该版本将获得ZIP捆绑版。