2015-10-15 34 views
0

大家好我已經在c#中爲SAP Business One創建了一些插件。現在我想要做的是每當我創建一個新的函數時,我的插件應該能夠自動從數據庫服務器下載它。我計劃的是將所有這些函數包含在(FuncName,EventType,EventForm,EventField,EventColumn,FuncCode)列的數據庫表中。在我的插件代碼中會有一個全局函數,它有幾個開關盒等等......但是我怎樣才能通過從表中讀取這些數據在源代碼內部自動創建新函數。任何適當的指導將不勝感激。如何爲您的SAP AddOn創建更新功能?

我是軟件公司的實習生。所以我在編程方面並不是那麼棒。因此,請不要以非常複雜的方式給出答案:-D

********我明白上述方法是非常困難的!

更新:如果這是一個壞主意,請建議我一個更好的方法來做到這一點。但是考慮到有很多誰要去使用這個插件的客戶,他們希望eassily下載新創建的功能,這個插件

***如果有人alreday creadted的AddOns SAP B1能告訴我他們是如何提供更新在SAP B1下注冊時,它們的附加組件將對我有所幫助。因爲我仍然無法解決這個問題!

更新:我已經創建了我自己的更新功能到SAP插件。在這個更新函數中,我用新版本的exe替換當前的exe文件。它工作得很好。但是在SAP中註冊這個addOn之後就會出現問題。因爲SAP中有很多校驗和,所以在替換舊的exe文件後,這個插件無法工作。我不知道如何更新我的addOn而不更換exe文件。任何有價值的建議將不勝感激。

+2

這聽起來像一個可怕的想法。你想解決什麼問題? – DGibbs

+0

@DGibbs:我添加了我的問題的完整解釋。也許你可以理解我的問題 – Isuru

回答

0

的方式我解決了這個問題是通過將新的函數放入一個dll文件。並將其作爲參考添加到應用程序中。最後,我寫了一個更新函數,如果在提供的FTP服務器路徑中有新版本可用,它將替換當前的dll文件。這樣我就不必重寫exe​​文件,因此不必擔心校驗和了。

1

這將是非常困難的,因爲代碼必須被編譯。我建議你在應用程序中創建一個更新程序,並使用類似Jenkins的東西。 Jenkins可以在github之類的倉庫上每次提交之後構建應用程序,然後可以向軟件中添加邏輯來提取新的二進制文件(.exe)並將其安裝爲更新。更好的是一個庫(.dll),那麼就不需要安裝程序。我希望我送你正確的方向。

你會做這樣的事情:

  1. 你的代碼添加到存儲庫系統構建服務器。

例如Github上和詹金斯

  • 添加autoupdater功能在代碼
  • 例如with the .NET Compact Framework

    +0

    這真的很有用,並節省了很多時間:)非常感謝 – Isuru

    +0

    不幸的是,clickonce應用程序無法將我的插件註冊到SAP Business One。所以我必須找到另一個解決方案:( – Isuru

    +0

    @Isuru我編輯答案,包括一個更適合的自我更新應用程序的解決方案 –