我需要管理员权限的进程。 从这个问题和答案似乎没有更好的办法,而不是推出一个单独的进程。 由于我宁愿有一个专用于而不是仅仅在推出第二过程我原来的应用程序只为这一个方法的过程 - 我想我会简单地在VS2010一个解决方案中创建两个项目。 然而 - 尝试部署它的时候 - 看来我只能把它们发布的一次一个。 这不会做,因为我不想让客户端必须安装一个以上的 - 然后有也将是搞清楚相对路径等问题
我不希望这两个进程的启动程序。 我想一个是启动应用程序,调用(如果需要),第二个只是一个方法。
所以,我怎么有两个过程用一个的ClickOnce安装?
你需要从第1(主)项目第二参考(工人)项目 -然后,如果你去的第一个项目属性- >发布- >应用程序文件,你会看到第二EXE作为一个依赖了。 如果没有 - 刚刚成立“发布状态”下拉菜单“包含”。
还-我不知道什么是你的目标,但看看这里我的帖子: 强制应用程序拥有管理员权限 -非常类似的问题与调用从ClickOnce的应用程序管理员权限的应用程序。 可为您节约几分钟。
如果你不想让用户安装该应用程序的不止一个,那么你不希望有多个的ClickOnce部署。 你真正想要的是一个部署。 所以的ClickOnce应用程序需要是你的主要应用程序,你需要包括从ClickOnce部署二级应用程序的EXE。 我这样做:
exe文件到的ClickOnce项目的副本,设置生成操作添加到“内容”,并复制到输出目录“复制总是”。 然后做一个生成并检查发布属性的应用程序文件对话框,并确保它显示出来。
现在,如果你可以构建解决方案,并建立两个项目,确保它的建设,首先创建EXE项目。 然后ClickOnce的项目会从第一个项目的输出目录复制到第二个项目的输出目录中添加一个生成后命令。
会发生什么事是将建立的第一个项目,那么它将构建C / O项目(和exe文件的ClickOnce的项目的版本复制到输出目录),然后将它从另一个复制exe文件的最新版本突入的ClickOnce项目的输出目录,然后它会创建部署。
我不是一个MSBuild的专家,但生成后命令应该是这样的。
COPY / Y “$(PROJECTDIR).... \ otherproject \ BIN \发布\ mynew.exe” “$ TARGETDIR)\ mynew.exe”
这从当前项目的副本,两个级别,其他的项目,然后bin文件夹中,然后释放+ mynew.exe,到构建输出目录。 我不会有目录结构正好与其它项目的权利 - 你需要设置自己。 但是,这给你的总体思路。
文章来源: How do I publish multiple applications / processes with one clickonce deployment?