如何为您的 SAP 插件创建更新功能?
How to make an update function to your SAP AddOn?
大家好,我已经用 C# 为 SAP Business One 创建了一些插件。现在我想要做的是,每次我创建一个新函数时,我的插件应该能够自动从数据库服务器下载它。我计划将所有这些函数包含在数据库 table 中,其中包含诸如(FuncName、EventType、EventForm、EventField、EventColumn、FuncCode)之类的列。在我的插件代码中会有一个 globle 函数,它有几个 switch case 等等......但是我如何通过从 table 中读取这些数据来自动在源代码中创建新函数。任何适当的指导将不胜感激。
我是一家软件公司的实习生。所以我不太擅长编程。因此请不要以非常复杂的方式给出答案:-D
********我明白了,上面的方法非常难!!!
更新:如果这是个坏主意,请建议我更好的方法。但是考虑到有很多客户会使用这个插件,他们希望轻松地将新创建的功能下载到这个插件
*** 如果有人已经注册了 SAP B1 的附加组件,可以告诉我他们如何在 SAP B1 下注册时设法为其附加组件提供更新,这将对我有很大帮助。因为我还是解决不了这个问题!!!
更新:我已经为 SAP 插件创建了自己的更新程序函数。在此更新程序函数中,我用新版本的 exe 替换了当前的 exe 文件。它工作得很好。但是在SAP中注册了这个addOn之后就出现了这个问题。因为 SAP 中有很多校验和,这使得我替换旧的 exe 文件后插件无法正常工作。而且我不知道如何在不替换 exe 文件的情况下更新我的插件。任何宝贵的建议将不胜感激。
这很难做到,因为必须编译代码。我建议您在您的应用程序中创建一个更新程序并使用类似 Jenkins 的东西。
Jenkins 可以在每次提交到 github 之类的存储库后构建您的应用程序,然后您可以向软件添加逻辑以提取新的二进制文件 (.exe) 并将其作为更新安装。更好的是一个库 (.dll),这样就不需要安装程序了。希望我向您发送了正确的方向。
你会这样做:
- 使用构建服务器将您的代码添加到存储库系统。
例如Github和Jenkins
- 在您的代码中添加自动更新程序功能
我解决这个问题的方法是将新函数放在一个dll文件中。并将其添加为应用程序中的参考。最后我写了一个更新函数,如果在提供的 FTP 服务器路径中有可用的新版本,它会替换当前的 dll 文件。这样我就不必覆盖 exe 文件,因此不再需要担心校验和。
大家好,我已经用 C# 为 SAP Business One 创建了一些插件。现在我想要做的是,每次我创建一个新函数时,我的插件应该能够自动从数据库服务器下载它。我计划将所有这些函数包含在数据库 table 中,其中包含诸如(FuncName、EventType、EventForm、EventField、EventColumn、FuncCode)之类的列。在我的插件代码中会有一个 globle 函数,它有几个 switch case 等等......但是我如何通过从 table 中读取这些数据来自动在源代码中创建新函数。任何适当的指导将不胜感激。
我是一家软件公司的实习生。所以我不太擅长编程。因此请不要以非常复杂的方式给出答案:-D
********我明白了,上面的方法非常难!!!
更新:如果这是个坏主意,请建议我更好的方法。但是考虑到有很多客户会使用这个插件,他们希望轻松地将新创建的功能下载到这个插件
*** 如果有人已经注册了 SAP B1 的附加组件,可以告诉我他们如何在 SAP B1 下注册时设法为其附加组件提供更新,这将对我有很大帮助。因为我还是解决不了这个问题!!!
更新:我已经为 SAP 插件创建了自己的更新程序函数。在此更新程序函数中,我用新版本的 exe 替换了当前的 exe 文件。它工作得很好。但是在SAP中注册了这个addOn之后就出现了这个问题。因为 SAP 中有很多校验和,这使得我替换旧的 exe 文件后插件无法正常工作。而且我不知道如何在不替换 exe 文件的情况下更新我的插件。任何宝贵的建议将不胜感激。
这很难做到,因为必须编译代码。我建议您在您的应用程序中创建一个更新程序并使用类似 Jenkins 的东西。 Jenkins 可以在每次提交到 github 之类的存储库后构建您的应用程序,然后您可以向软件添加逻辑以提取新的二进制文件 (.exe) 并将其作为更新安装。更好的是一个库 (.dll),这样就不需要安装程序了。希望我向您发送了正确的方向。
你会这样做:
- 使用构建服务器将您的代码添加到存储库系统。
例如Github和Jenkins
- 在您的代码中添加自动更新程序功能
我解决这个问题的方法是将新函数放在一个dll文件中。并将其添加为应用程序中的参考。最后我写了一个更新函数,如果在提供的 FTP 服务器路径中有可用的新版本,它会替换当前的 dll 文件。这样我就不必覆盖 exe 文件,因此不再需要担心校验和。