如何在ClickOnce winforms应用程序中调用MsBuild.exe并知道正确的路径? (即它在用户机器上运行)

时间:2010-03-02 02:39:14

标签: msbuild clickonce migratordotnet

我想在用户PC上运行MSBuild,作为WinForms ClickOnce部署的一部分。这是在下载并运行应用程序(通过clickonce)之后,应用程序需要启动MsBuild来处理数据库更新(使用MigratorDotNet)。

问:我的应用程序如何能够强有力地启动MsBuild?也就是说如何确定它的安装路径,如果没有安装,我应该在clickonce包中包含MSBuild.exe,以便我知道它确实存在吗?

1 个答案:

答案 0 :(得分:0)

您可以查看

MSBuildToolsPath的值
  • HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的MSBuild \ ToolsVersions \ 2.0
  • HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的MSBuild \ ToolsVersions \ 3.5
  • HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的MSBuild \ ToolsVersions \ 4.0

但是使用ClickOnce我认为你不能执行MSBuild脚本。

我认为您不允许重新分发MSBuild。由于MSBuild随.NET Framework一起分发,您只需检查是否已安装v2 +。如果没有,那么你可以提示他们安装它。