微软同步数据服务器版本 2.0.0.0 将安装在全局程序集缓存中

本文关键字:安装 全局 程序集缓存 微软 数据 服务器 版本 同步 | 更新日期: 2023-09-27 18:35:26

我正在尝试在客户端计算机中部署已发布的项目,但安装程序一直给我此错误"Microsoft 同步数据服务器版本 2.0.0.0 将安装在全局程序集缓存中"

任何帮助将不胜感激!我在 C# Visual stuido 2010 上工作,我的电脑是 64 位的,我的客户端电脑也是 64 位的。谢谢

微软同步数据服务器版本 2.0.0.0 将安装在全局程序集缓存中

您必须在客户端PC上安装同步框架。也许还有其他一些SQL框架。

这个页面说:

在 x86

平台上,x86 安装包安装 将以下组件放入程序文件''Microsoft SDK''Microsoft同步 框架''2.1,并将托管 DLL 添加到全局程序集缓存 (广汽)。在 x64 平台上,x86 和 x64 安装 将软件包安装到程序文件 (x86)''Microsoft SDK ''Microsoft同步 框架''2.1.平台和安装包的其他组合 可能会在安装路径上产生轻微变化。

下载链接

如果您希望在安装应用程序时将其作为先决条件,请查看此线程。但是,我建议您使用Inno Script工作室来制作安装程序。(免费且易于使用,但我想逆向工程并不难,只是说)。

这是一篇关于使用 Inno 脚本自动安装 .NET Framework 4.0(或任何其他)的文章。

完成此操作后,以下是我设法安装同步框架的方法,尚未完全自动,但它至少在安装应用程序时启动安装程序。 并且很好地完成了设置,我无法自动完成它,因为同步框架安装程序是一个.MSI文件。

将此添加到文件部分:

[Files]
Source: "C:DIRECTORYHERE'Dependencies'SqlLocalDB.MSI"; DestDir: "{tmp}"; Flags: deleteafterinstall; Permissions: everyone-full; Check: SqlIsNotInstalled; AfterInstall: InstallSql

代码部分(你可以把它放在脚本的底部):

[Code]
procedure InstallSql;
var
  ResultCode: Integer;
  StatusText: string;
begin
  StatusText := WizardForm.StatusLabel.Caption;
  WizardForm.StatusLabel.Caption := 'Installing Microsoft SQL Local Database...';
   if not ShellExec('',ExpandConstant('{tmp}'SqlLocalDB.MSI'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
     begin
    MsgBox('SQL local DB failed with code: ' + IntToStr(ResultCode) + '.',
      mbError, MB_OK);
    WizardForm.StatusLabel.Caption := StatusText;
  end;
end;

并检查它是否已安装:

[code]
function SqlIsNotInstalled: Boolean;
begin
  Result := not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE'Microsoft'Microsoft SQL Server Local DB'Installed Versions'11.0');
end;