Frederick Posted August 15, 2020 Share Posted August 15, 2020 I have several internal apps which are compiled in UniGUI 1.90.0.1534. They are not changed often and I do not wish to recompile them each time a new UniGUI version is installed. However, if I do not recompile them, they don't work because they are expecting version 1534 to be present. I tried to install the 1534 runtime but the installer complains that I should not install the runtime when a framework is present. How do I keep running the 1534 compiled apps while developing with 1535? -- Frederick (UniGUI Complete - Professional Edition 1.90.0.1535) Quote Link to comment Share on other sites More sharing options...
aleks Posted August 15, 2020 Share Posted August 15, 2020 1. Create an ini file with content, for example: [appwebpath] extjs=d:\Framework\ uni=d:\Framework\ unipackages=d:\Framework\ unimobile=d:\Framework\ 2. In your application, handle it: procedure TUniServerModule.UniGUIServerModuleBeforeInit(Sender: TObject); var serverConfig: TMemINIFile; begin try serverConfig := TMemINIFile.create(UniServerModule.FilesFolderPath + 'unigui.ini'); ExtRoot := serverConfig.readstring('appwebpath', 'extjs', '[ext]\'); UniRoot := serverConfig.readstring('appwebpath', 'uni', '[uni]\'); UniMobileRoot := serverConfig.readstring('appwebpath', 'unimobile', '[unim]\'); UniPackagesRoot := serverConfig.readstring('appwebpath', 'unipackages', '[unipack]\'); finally FreeAndNil(serverConfig); end; if ExtRoot <> '[ext]\' then ExtRoot := ExtRoot + '[ext]\'; if UniRoot <> '[uni]\' then UniRoot := UniRoot + '[uni]\'; if UniMobileRoot <> '[unim]\' then UniMobileRoot := UniMobileRoot + '[unim]\'; if UniPackagesRoot <> '[unipack]\' then UniPackagesRoot := UniPackagesRoot + '[unipack]\'; CustomFiles.Clear; end; 3.copy to directory d:\Framework of c:\Program Files (x86)\FMSoft\Framework\uniGUI\ ext-7.2.0 uni-1.90.0.1534 unim-1.90.0.1534 unipackages-7.2.0 Quote Link to comment Share on other sites More sharing options...
Frederick Posted August 15, 2020 Author Share Posted August 15, 2020 Thank you for the steps. I'll implement it and post the results here. Quote Link to comment Share on other sites More sharing options...
Abaksoft Posted August 16, 2020 Share Posted August 16, 2020 @Frederick The classical way is to deploy any unigui project with its specific Runtime on a Server. Example : Project1 = Runtime 1530 Project 2 = Runtime 1534 Project 3 = Runtime 1535 All should work fine. The question is : Why are you deploying your projects on your own working PC (Delphi + Unigui) ? Quote Link to comment Share on other sites More sharing options...
Frederick Posted August 16, 2020 Author Share Posted August 16, 2020 4 hours ago, Abaksoft said: @Frederick The classical way is to deploy any unigui project with its specific Runtime on a Server. Example : Project1 = Runtime 1530 Project 2 = Runtime 1534 Project 3 = Runtime 1535 All should work fine. The question is : Why are you deploying your projects on your own working PC (Delphi + Unigui) ? One of my internal apps is a gardening app which I use to keep track of my gardening activities. There is no need to deploy it to a server and updating it and accessing its database is a breeze when it is installed in my PC. I don't need to access it over the Internet. Quote Link to comment Share on other sites More sharing options...
Frederick Posted August 16, 2020 Author Share Posted August 16, 2020 23 hours ago, aleks said: 1. Create an ini file with content, for example: 2. In your application, handle it: 3.copy to directory d:\Framework of c:\Program Files (x86)\FMSoft\Framework\uniGUI\ Your steps work great! Thanks again. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.