通过 Visual Studio 发布 Clickonce 应用程序时,有一个“先决条件...”按钮,您可以在其中选择应用程序先决条件。
据我了解,发布操作会创建一个 Setup.exe 来验证是否安装了先决条件,如果没有安装它们,然后运行“application_name”.application。
mage.cmd 是否支持必备功能以及如何支持?或者在 Visual Studio 之外进行构建时,我们是否必须手动创建诸如 setup.exe 之类的东西?
通过 Visual Studio 发布 Clickonce 应用程序时,有一个“先决条件...”按钮,您可以在其中选择应用程序先决条件。
据我了解,发布操作会创建一个 Setup.exe 来验证是否安装了先决条件,如果没有安装它们,然后运行“application_name”.application。
mage.cmd 是否支持必备功能以及如何支持?或者在 Visual Studio 之外进行构建时,我们是否必须手动创建诸如 setup.exe 之类的东西?
据我所知,Mage 不像 Visual Studio 那样支持 prereq 生成。这是有道理的,VS 创建的引导 setup.exe 与 ClickOnce 没有任何关系,除了在完成时启动应用程序。
您应该可以使用 VS 生成 Setup.exe 并使用 Mage 创建部署。Setup.exe 应该很少更改,因此不会太麻烦。
您可以使用此 MSBuild 脚本生成 setup.exe
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<GenerateBootstrapper ApplicationFile="$(Application).application" ApplicationName="$(ApplicationTitle)" ApplicationUrl="$(ProviderUrl)"
OutputPath="$(DeployFolder)" BootstrapperItems="@(BootStrapperFile)" ComponentsLocation="HomeSite" CopyComponents="true"
Path="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\"
/>