[英]Prerequisites not load in Visual Studio
I am making an installer that, in addition to having the development, takes to automatically install the "Microsoft Access database engine 2010" (MADE2010), this due to a database connection.我正在制作一个安装程序,除了进行开发之外,还需要自动安装“Microsoft Access 数据库引擎 2010”(MADE2010),这是由于数据库连接。 The problem I have is that my computer was formatted and when I wanted to load the project again, it appeared as a warning in the MADE2010 prerequisite as not enabled, I removed the selection, load the MADE2010 XML and installers again and now I can't get them to load back into the list of prerequisites.
我遇到的问题是我的计算机已格式化,当我想再次加载项目时,它在 MADE2010 先决条件中显示为未启用的警告,我删除了选择,再次加载 MADE2010 XML 和安装程序,现在我可以了t 让它们重新加载到先决条件列表中。 I already uploaded the folder in
我已经上传了文件夹
* C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages* * C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages*
In it load the "product.xml" file, the "AccessDatabaseEngine.exe" installer (since I only need x86) and create a folder called "en", which contains two files, one called "license.txt" and "package .xml", but the MADE2010 in the Visual Studio (2017) prerequisites is not loaded.在其中加载“product.xml”文件,“AccessDatabaseEngine.exe”安装程序(因为我只需要 x86)并创建一个名为“en”的文件夹,其中包含两个文件,一个名为“license.txt”和“package . xml”,但未加载 Visual Studio (2017) 先决条件中的 MADE2010。
Can you please guide me if I'm making a mistake?如果我犯了错误,你能指导我吗?
This is "package.xml" file:这是“package.xml”文件:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Product
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
ProductCode="Access.Database.Engine.2010"
>
<!-- Defines list of files to be copied on build -->
<PackageFiles CopyAllPackageFiles="false">
<PackageFile Name="AccessDatabaseEngine.exe" HomeSite="http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine.exe" />
</PackageFiles>
<RelatedProducts>
<DependsOnProduct Code="Microsoft.Net.Framework.2.0" />
</RelatedProducts>
<InstallChecks>
<MsiProductCheck Property="IsInstalled"
Product="{90140000-00D1-0409-0000-0000000FF1CE}"/>
</InstallChecks>
<Commands>
<Command PackageFile="AccessDatabaseEngine.exe"
Arguments='/passive'>
<!-- These checks determine whether the package is to be installed -->
<InstallConditions>
<!-- ByPass if the Processor is not x86 -->
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>
<!-- ByPass if we have installed -->
<BypassIf Property="IsInstalled" Compare="ValueGreaterThan" Value="0" />
<!-- Block install if user does not have admin privileges -->
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
<!-- Block install on Win95 -->
<FailIf Property="Version9x" Compare="VersionLessThan" Value="4.10" String="InvalidPlatformWin9x"/>
<!-- Block install on NT 4 or less -->
<FailIf Property="VersionNT" Compare="VersionLessThan" Value="5.00" String="InvalidPlatformWinNT"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
</Product>
This is "product.xml" file:这是“product.xml”文件:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Product
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
ProductCode="Access.Database.Engine.2010"
>
<!-- Defines list of files to be copied on build -->
<PackageFiles CopyAllPackageFiles="false">
<PackageFile Name="AccessDatabaseEngine.exe" HomeSite="http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine.exe" />
</PackageFiles>
<RelatedProducts>
<DependsOnProduct Code="Microsoft.Net.Framework.2.0" />
</RelatedProducts>
<InstallChecks>
<MsiProductCheck Property="IsInstalled"
Product="{90140000-00D1-0409-0000-0000000FF1CE}"/>
</InstallChecks>
<Commands>
<Command PackageFile="AccessDatabaseEngine.exe"
Arguments='/passive'>
<!-- These checks determine whether the package is to be installed -->
<InstallConditions>
<!-- ByPass if the Processor is not x86 -->
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>
<!-- ByPass if we have installed -->
<BypassIf Property="IsInstalled" Compare="ValueGreaterThan" Value="0" />
<!-- Block install if user does not have admin privileges -->
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
<!-- Block install on Win95 -->
<FailIf Property="Version9x" Compare="VersionLessThan" Value="4.10" String="InvalidPlatformWin9x"/>
<!-- Block install on NT 4 or less -->
<FailIf Property="VersionNT" Compare="VersionLessThan" Value="5.00" String="InvalidPlatformWinNT"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
</Product>
I found the mistake.我发现了错误。
When making the entire package (package, product, license, language and executable files), this must be done outside the SDKs folder (reference on your desktop) because if you do it inside, no matter how many you configure Changes in prerequisites will be reflected.在制作整个包(包、产品、许可证、语言和可执行文件)时,必须在 SDKs 文件夹之外进行(在您的桌面上参考) ,因为如果在内部进行,无论您配置多少前提条件的更改都会反映。 In addition to that, in the deployment properties, in:
除此之外,在部署属性中,在:
Properties > Misc > Localization属性 > 杂项 > 本地化
make sure to select the language you need.确保选择您需要的语言。 In my case, I am using English (USA), so there you select "English (United States)" and in your folder you must create a folder called "en" and there include the "package.xml and license.txt" files or EULA.
就我而言,我使用的是英语(美国),因此您选择“英语(美国)”,在您的文件夹中,您必须创建一个名为“en”的文件夹,其中包含“package.xml 和 license.txt”文件或 EULA。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.