OpenDCL Forums

OpenDCL => Runtime/AutoLISP => Topic started by: TopoWAR on August 12, 2013, 03:13:58 PM

Title: ODCL can upgrade from lisp???
Post by: TopoWAR on August 12, 2013, 03:13:58 PM
Hello to all! I use for my software ODCL runtime, the question is: can update only the arx located in the Common Files folder? or you need to run Windows Installer. MSI? you can create something from lisp to run the update of ODCL? thank you very much and congratulations on such a good job.
Title: Re: ODCL can upgrade from lisp???
Post by: owenwengerd on August 12, 2013, 05:28:11 PM
It's important to perform the updates via Windows Installer so that reference counts get maintained correctly, otherwise you could break other OpenDCL applications that may be installed now or in the future. You can start the installer from lisp. There have been past discussions about this. If you search the discussion group for "msiexec" you should find those past threads.
Title: Re: ODCL can upgrade from lisp???
Post by: TopoWAR on August 12, 2013, 05:30:24 PM
thanks owenwengerd :)
Title: Re: ODCL can upgrade from lisp???
Post by: TopoWAR on August 12, 2013, 05:35:47 PM
owenwengerd , where the discussion group "msiexec"???
excuse my ignorance :(
Title: Re: ODCL can upgrade from lisp???
Post by: owenwengerd on August 12, 2013, 05:56:42 PM
Here are two threads that may help:

http://www.opendcl.com/forum/index.php?topic=1641.15 (http://www.opendcl.com/forum/index.php?topic=1641.15)
http://www.opendcl.com/forum/index.php?topic=1142.0 (http://www.opendcl.com/forum/index.php?topic=1142.0)

Note the use of (startapp) to run msiexec.exe, which is Windows Installer. You can run msiexec.exe in a command shell to see its command line options.
Title: Re: ODCL can upgrade from lisp???
Post by: TopoWAR on December 25, 2013, 11:36:54 AM
Hello, I tried to update using the code ODCL:

Code (autolisp) Select
(startapp "msiexec.exe" (strcat "/i \"" msi "\" /qn"))

but it seems that it takes OpenDCL runtime autocad is closed! I tried to download the ARX before the upgrade but does not work, must be closed to proceed cad? if so then you can not upgrade from using lisp. msi
Title: Re: ODCL can upgrade from lisp???
Post by: owenwengerd on December 25, 2013, 12:46:36 PM
I'm not sure I understand correctly. If you mean that OpenDCL Runtime cannot be upgraded while it is in use, then yes, that is correct. You must upgrade before the OpenDCL Runtime is loaded, else unload it manually before upgrading. I will see if I can add some code in the _MasterDemo sample app to upgrade at runtime, maybe that will help.
Title: Re: ODCL can upgrade from lisp???
Post by: TopoWAR on December 25, 2013, 02:00:30 PM
 owenwengerd , thanks for the answer, that would be amazing ODCL could update from lisp at runtime, I'll be on the lookout for this, thank a teacher!

sorry but use a translator!
Title: Re: ODCL can upgrade from lisp???
Post by: owenwengerd on December 28, 2013, 08:55:33 PM
The OpenDCL 7.0 RC2 build includes enhancements to the [Check for Update] button in the _MasterDemo sample. It now checks for an update and if one is available, allows you to download and install it.
Title: Re: ODCL can upgrade from lisp???
Post by: TopoWAR on January 02, 2014, 12:19:38 AM
owenwengerd ,
Hello, I had previously made ââ,¬â€¹Ã¢â,¬â€¹a code very similar to yours, with this line sets
Code (autolisp) Select
(foreach project (dcl_GetProjects) (dcl_Project_Unload project T))
I tried to upgrade to 7.0.1.4 7.0.1.2 ODCL but asks me to close the autocad, I run the msi with ODCL version 7.0.1.4 already installed in autocad but no longer asks me to close the autocad, perhaps changing to run the msi with ODCL in execution comes from version 7.0.1.4 onwards? thanks
Title: Re: ODCL can upgrade from lisp???
Post by: owenwengerd on January 02, 2014, 06:55:18 AM
The reason it can work without closing AutoCAD is because (*ODCL:Vanish) unloads OpenDCL after unloading all projects. You can do the same in previous versions.
Title: Re: ODCL can upgrade from lisp???
Post by: TopoWAR on January 02, 2014, 09:18:30 AM
[owenwengerd , gracias, I have another question, this is their code

Code (autolisp) Select
  (dcl_SendString "(*ODCL:Vanish)\n")
  (startapp (strcat "msiexec.exe /i " msipath))
  (dcl_Form_Close _MasterDemo_Update 1)



is possible that it works well the function (* ODCL: Vanish) because at that time being used dcl_SendString and later dcl_Form_Close, personally for me worked well the upgrade chooses to use (* ODCL: Vanish) after downloading the form (dcl_Form_Close _MasterDemo_Update 1), do you think?

I use this code works perfect, I add the supplement dos_exewait dos_lib function, to do wait until you finish autocad ODCL installed.
Code (autolisp) Select
(dcl_Form_Show TopoWAR|update_UPDATE)
  (prompt "\n ** unload ARX OpenDCL**") (princ)
  (unload_odcl)
  (princ "\nIniciando Actualización, por favor espere... mientras se actualiza..")
  (dos_exewait (strcat "msiexec.exe /i " (strcat RUTA_TOPOWAR "\\Actualizaciones\\OpenDCL.Runtime.msi")))
  (command "_opendcl")
  (princ)
Title: Re: ODCL can upgrade from lisp???
Post by: owenwengerd on January 02, 2014, 10:30:45 AM
I don't think it's a good idea to lock up AutoCAD while the installer runs, but I'm glad you got it working.
Title: Re: ODCL can upgrade from lisp???
Post by: TopoWAR on January 02, 2014, 11:42:06 AM
owenwengerd ;D teacher thank you, I'll consider your advice.