【问题标题】:RedGate SQL Comparison SDK API Licensing IssueRedGate SQL 比较 SDK API 许可问题
【发布时间】:2015-10-23 06:31:36
【问题描述】:

首先抱歉,我不得不写一个冗长的问题,但是有必要写这些东西来更好地解释我的问题。

我们有一个安装程序来安装我们的应用程序。我想通过安装程序升级数据库。所以,我创建了最新结构数据库的快照,并放在应用程序的包中。我使用 RedGate SQL 比较 SDK API 来比较两个数据库的结构,然后将客户数据库与最新的快照(我提供的)同步。

我正在使用自定义动作类库项目来编写方法,这些方法将被称为安装程序本身。

我已购买 RedGate 许可证密钥,并且 RedGate Tool 已安装在一台机器上。在同一台机器上,我有一个 installshield 许可证,所以我只在该机器上编写自定义操作代码。

我们需要在使用 RedGate SDK API 的项目中添加“licenses.licx”文件。我已经添加了“http://documentation.red-gate.com/display/CSD11/Distributing+your+SDK+applications”中提到的那个文件。

我已添加该文件并且编译成功,因为我在同一台机器上激活了许可证。因此,首先要在项目中嵌入许可证,我已经从已安装的 RedGate 停用了 RedGate 许可证,然后在编译项目时,我得到了一个激活弹出窗口,如下所示:

我已经应用了有效的许可证,然后我从 installshield 2014 编译了安装程序项目(它正在使用自定义操作项目)。

我的数据库同步代码按预期工作。所以,我没有发现同步代码有什么问题。

这里的问题是: 如果我将产品安装在具有 Redgate License 的机器上,那么产品将被安装并且数据库将成功同步。在客户端机器上,很明显它们没有 RedGate 许可证。安装程序在开始同步之前给出如上图所示的激活弹出窗口。

即使我在编译时已经给出了有效的许可证,我也无法在其他机器上同步数据库。

希望有人能解决这个问题。

感谢期待。

【问题讨论】:

    标签: redgate sqlcompare installshield-2014


    【解决方案1】:

    您是否在编译后重命名了程序集?引擎要求程序集文件名与嵌入式许可资源的名称相同。这是来自the relevant page in the documentation 的引用。

    在使用 SQL 比较 SDK 将程序集部署到尚未安装和激活 SQL 比较 SDK 的远程站点时,可能会要求您激活 SDK,即使该程序集已正确构建和许可。

    重命名程序集后会出现此问题。 SQL 比较 SDK 程序集在构建后无法重命名,因为许可系统要求嵌入到程序集中的许可资源与程序集文件名同名。

    您可以将程序集改回其原始名称,或更改 Visual Studio 项目中的设置,以便将输出程序集编译为不同的名称并部署使用所需名称构建的程序集。

    【讨论】:

    • 这里非常不鼓励仅链接的答案,因为这些链接将来可能会失效。我建议您使用您引用的来源中的引用来编辑您的答案。
    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2016-12-26
    • 2018-03-23
    • 2013-01-17
    • 2010-11-18
    • 2017-01-06
    相关资源
    最近更新 更多