# Build, publish and update your AutoCAD OEM application with fully automated BuildTool (while saving a lot of time doing so) \[Part 2\]

**URL:** <https://forum.techsoft3d.com/t/build-publish-and-update-your-autocad-oem-application-with-fully-automated-buildtool-while-saving-a-lot-of-time-doing-so-part-2/828>\
**Category:** AutoCAD OEM\
**Created:** [June 17, 2022, 4:07pm UTC](https://forum.techsoft3d.com/t/build-publish-and-update-your-autocad-oem-application-with-fully-automated-buildtool-while-saving-a-lot-of-time-doing-so-part-2/828 "2022-06-17T16:07:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jm1](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/jm1/32/317_2.png) [@jm1](https://forum.techsoft3d.com/u/jm1)\
**Post date:** [June 17, 2022, 4:07pm UTC](https://forum.techsoft3d.com/t/build-publish-and-update-your-autocad-oem-application-with-fully-automated-buildtool-while-saving-a-lot-of-time-doing-so-part-2/828/1 "2022-06-17T16:07:01Z")

</div>

## Check out Part1 first!
Please see 

[Part 1](https://forum.techsoft3d.com/t/build-publish-and-update-your-autocad-oem-application-with-fully-automated-buildtool-while-saving-a-lot-of-time-doing-so-part-1/827)  
first if you have not done so already!

# #5 A quick run through of a typical build process
The full build for all components takes about 12 hours to complete. In the following example we run through a typical build for the AutoCAD OEM 2023 based application called AutoSTAGE 2023.  

For brevity and clarity, we publish here only an excerpt of all processes to give you an overview.

When starting the build, there is done some preliminary work where the file system is set up, the custom commands are extracted from the code for later use, and other preparatory work is happening to ready the codebase and associated files for the build.

```auto
20220617_15-03-30-850	-------------------------------------------------------------------
20220617_15-03-30-850	-------------------------------------------------------------------
20220617_15-03-30-850	-------------------------------------------------------------------
20220617_15-03-30-850	
20220617_15-03-30-850	BUILD is running... PLEASE WAIT!
20220617_15-03-30-850	
20220617_15-03-30-850	-------------------------------------------------------------------
20220617_15-03-30-850	-------------------------------------------------------------------
20220617_15-03-30-850	-------------------------------------------------------------------
20220617_15-03-30-850	
20220617_15-03-30-850	Delete Temp Build Directory...
20220617_15-03-30-960	Delete Temp Build Directory...DONE!
20220617_15-03-30-960	
20220617_15-03-30-960	Add Temp Build Directory...
20220617_15-03-30-960	Add Temp Build Directory...DONE!
20220617_15-03-30-960	
20220617_15-03-31-366	Set Build Number to -> 2.3.28.1
20220617_15-03-31-366	
20220617_15-03-32-241	Extract Commands from Code...
20220617_15-03-32-413	Extract Commands from Code...DONE!
20220617_15-03-32-554	
20220617_15-03-32-554	Edit files -> UpdateXml...
20220617_15-03-32-554	Edit files -> UpdateXml...DONE!
20220617_15-03-32-554	
20220617_15-03-32-554	Edit files -> SetSfxInstallerText...
20220617_15-03-32-694	Edit files -> SetSfxInstallerText...DONE!
20220617_15-03-36-554	
20220617_15-03-36-569	Run Batch _CopyArxDbgToRelease_fromSDK.bat...
20220617_15-03-36-647	Run Batch _CopyArxDbgToRelease_fromSDK.bat...DONE!
20220617_15-03-36-647	
20220617_15-03-36-647	Run Batch _CopyLibxlToRelease.bat...
20220617_15-03-36-991	Run Batch _CopyLibxlToRelease.bat...DONE!
20220617_15-03-36-991	
20220617_15-03-36-991	Run Batch _CopyMigraDocToRelease.bat...
20220617_15-03-37-663	Run Batch _CopyMigraDocToRelease.bat...DONE!

```

Then the build of the codebase is started.  
First, icon resource dll’s get build:

```auto
20220617_15-03-40-100	-------------------------------------------------------------------
20220617_15-03-40-100	BUILD RELEASE started...
20220617_15-03-40-100	-------------------------------------------------------------------
20220617_15-03-40-100	
20220617_15-03-40-100	Run Batch SetBuildFolder.bat... Param -> RELEASE   
20220617_15-03-40-132	Run Batch SetBuildFolder.bat... Param -> RELEASE DONE!
20220617_15-03-40-272 -------------------------------------------------------------------
20220617_15-03-40-272 BUILD RELEASE Icon ACAD2023_OEM started...
20220617_15-03-40-272 -------------------------------------------------------------------
20220617_15-03-40-272	          
20220617_15-03-40-272 Building RELEASE AuStIcon ACAD2023_OEM x64 ...
20220617_15-03-41-757 FOUND -> D:\REL\RELEASE\ACAD2023_OEM\AuStIcon.dll
20220617_15-03-41-757 Building RELEASE AuStIcon ACAD2023_OEM x64 ...DONE!
20220617_15-03-51-883	          
20220617_15-03-51-883 -------------------------------------------------------------------
20220617_15-03-51-883 BUILD RELEASE Icon ACAD2023_OEM ended -> Counted(13) ...DONE!
20220617_15-03-51-883 -------------------------------------------------------------------

```

Then the build of the object enablers commences:

```auto
20220617_15-03-51-883 -------------------------------------------------------------------
20220617_15-03-51-883 BUILD RELEASE Object ACAD2023_OEM started...
20220617_15-03-51-883 -------------------------------------------------------------------
20220617_15-03-51-883	          
20220617_15-03-51-883 Building RELEASE AuSt10Object ACAD2023_OEM x64 ...
20220617_15-04-08-025 FOUND -> D:\REL\RELEASE\ACAD2023_OEM\AuSt10Object.dbx
20220617_15-04-08-025 FOUND -> D:\REL\RELEASE\ACAD2023_OEM\AuSt10ComArx23OEM.arx
20220617_15-04-08-025 FOUND -> D:\REL\RELEASE\ACAD2023_OEM\AuSt10Wrapper.dll
20220617_15-04-08-025 Building RELEASE AuSt10Object ACAD2023_OEM x64 ...DONE!
20220617_15-05-36-957	          
20220617_15-05-36-957 -------------------------------------------------------------------
20220617_15-05-36-957 BUILD RELEASE Object ACAD2023_OEM ended -> Counted(39) ...DONE!
20220617_15-05-36-957 -------------------------------------------------------------------

```

Followed by some core and interface arx files, as well as managed dotnet dll’s and additional exe files.

```auto
20220617_15-05-36-957 -------------------------------------------------------------------
20220617_15-05-36-957 BUILD RELEASE Core ACAD2023_OEM started...
20220617_15-05-36-957 -------------------------------------------------------------------
20220617_15-05-36-973	          
20220617_15-05-36-973 Building RELEASE AuStCore ACAD2023_OEM x64 ...
20220617_15-06-21-337 FOUND -> D:\REL\RELEASE\ACAD2023_OEM\AuStCore.arx
20220617_15-06-21-337 Building RELEASE AuStCore ACAD2023_OEM x64 ...DONE!          
20220617_15-06-35-894	          
20220617_15-06-35-894 -------------------------------------------------------------------
20220617_15-06-35-894 BUILD RELEASE Core ACAD2023_OEM ended -> Counted(43) ...DONE!
20220617_15-06-35-894 -------------------------------------------------------------------
20220617_15-06-35-894	                   
20220617_15-06-35-894 -------------------------------------------------------------------
20220617_15-06-35-894 BUILD RELEASE Interface ACAD2023_OEM started...
20220617_15-06-35-910 -------------------------------------------------------------------         
20220617_15-06-35-910	          
20220617_15-06-35-910 Building RELEASE AuSt10 ACAD2023_OEM x64 ...
20220617_15-07-10-151 FOUND -> D:\REL\RELEASE\ACAD2023_OEM\AuSt10.arx
20220617_15-07-10-151 Building RELEASE AuSt10 ACAD2023_OEM x64 ...DONE!
20220617_15-07-10-151	          
20220617_15-08-33-019 -------------------------------------------------------------------
20220617_15-08-33-019 BUILD RELEASE Interface ACAD2023_OEM ended -> Counted(52) ...DONE!
20220617_15-08-33-019 -------------------------------------------------------------------
20220617_15-08-33-019	          
20220617_15-08-33-019	          
20220617_15-08-33-019 -------------------------------------------------------------------
20220617_15-08-33-019 BUILD RELEASE Mgd ACAD2023_OEM started...
20220617_15-08-33-019 -------------------------------------------------------------------
20220617_15-08-42-456	          
20220617_15-08-42-456 Building RELEASE AuSt10Mgd ACAD2023_OEM x64 ...
20220617_15-08-43-347 FOUND -> D:\Rel\RELEASE\ACAD2023_OEM\AuSt10Mgd.dll
20220617_15-08-43-347 Building RELEASE AuSt10Mgd ACAD2023_OEM x64 ...DONE!
20220617_15-08-43-347	          
20220617_15-08-51-581 -------------------------------------------------------------------
20220617_15-08-51-581 BUILD RELEASE Mgd ACAD2023_OEM ended -> Counted(66) ...DONE!
20220617_15-08-51-581 -------------------------------------------------------------------
20220617_15-08-51-581	          
20220617_15-08-51-581 -------------------------------------------------------------------
20220617_15-08-51-581 BUILD RELEASE Exe Release started...
20220617_15-08-51-581 -------------------------------------------------------------------
20220617_15-08-53-831	          
20220617_15-08-53-831 Building RELEASE AuStComRegisterExe Release x64 ...
20220617_15-08-54-628 FOUND -> D:\REL\RELEASE\_APP\AuStComRegister.exe
20220617_15-08-54-628 Building RELEASE AuStComRegisterExe Release x64 ...DONE!
20220617_15-08-54-628	          
20220617_15-08-59-340 -------------------------------------------------------------------
20220617_15-08-59-340 BUILD RELEASE Exe Release ended -> Counted(75) ...DONE!
20220617_15-08-59-340 -------------------------------------------------------------------

```

When all is built well and done, the release folder is copied to a secondary folder and check for plausibility:

```auto
20220617_15-08-59-340	
20220617_15-08-59-340	Run Batch Copy_Release.bat... Param -> ACAD2023_OEM XRELEASE   
20220617_15-09-00-736	Run Batch Copy_Release.bat... Param -> ACAD2023_OEM XRELEASE DONE!
20220617_15-09-00-749	
20220617_15-09-00-749	Check Build with Param -> RELEASE ACAD2023_OEM...
20220617_15-09-02-786 SUCCESS -> Build and CheckBuild MATCHES! (113)(113) for D:\REL\XRELEASE\ACAD2023_OEM
20220617_15-09-02-786	Check Build with Param -> RELEASE ACAD2023_OEM...DONE!
20220617_15-09-02-790	
20220617_15-09-02-790	-------------------------------------------------------------------
20220617_15-09-02-792	BUILD RELEASE ended...
20220617_15-09-02-793	-------------------------------------------------------------------

```

The secondary folder is necessary because we build a release version as well as a separate trial and educational version, which are slightly different codebases.

AutoSTAGE 2023 needs to have an extra runtime environment installed, which sets up the system for the real installation of the main application. The runtime is created after the AutoCAD OEM Make Wizard has run through. But before, we need to harvest and edit some files that are consumed by the runtime installer:

```auto
20220617_15-09-02-794	-------------------------------------------------------------------
20220617_15-09-02-794	Create Runtime started...
20220617_15-09-02-795	-------------------------------------------------------------------
20220617_15-09-02-795	
20220617_15-09-02-795 -------------------------------------------------------------------
20220617_15-09-02-795	          
20220617_15-09-02-795 Run Batch AuStRtHarvest.bat... Param -> D-REL-RELEASE-_APPDATA APPDATA   
20220617_15-09-02-939 Run Batch AuStRtHarvest.bat... Param -> D-REL-RELEASE-_APPDATA APPDATA DONE!
20220617_15-09-02-939	          
20220617_15-09-02-941 Run Batch AuStRtHarvest.bat... Param -> D-BLK-AuStTemplate AUSTTEMPLATE   
20220617_15-09-03-081 Run Batch AuStRtHarvest.bat... Param -> D-BLK-AuStTemplate AUSTTEMPLATE DONE!
20220617_15-09-03-082	          
20220617_15-09-03-084 Run Batch AuStRtHarvest.bat... Param -> D-BLK-AuStUser AUSTUSER   
20220617_15-09-03-214 Run Batch AuStRtHarvest.bat... Param -> D-BLK-AuStUser AUSTUSER DONE!
20220617_15-09-03-354	          
20220617_15-09-03-355 -------------------------------------------------------------------
20220617_15-09-03-357	          
20220617_15-09-03-357 -------------------------------------------------------------------
20220617_15-09-03-357	          
20220617_15-09-03-358 (1) D:\DEV\\AuSt_RuntimeInstaller\AuStHarvest_APPDATA.wxs -> READ *OK*!
20220617_15-09-03-359 (1) D:\DEV\\AuSt_RuntimeInstaller\AuStHarvest_APPDATA.wxs -> WRITE *OK*!
20220617_15-09-03-359	          
20220617_15-09-03-359 (1) D:\DEV\AuSt_RuntimeInstaller\AuStHarvest_AUSTTEMPLATE.wxs -> READ *OK*!
20220617_15-09-03-360 (1) D:\DEV\AuSt_RuntimeInstaller\AuStHarvest_AUSTTEMPLATE.wxs -> WRITE *OK*!
20220617_15-09-03-360	          
20220617_15-09-03-360 (1) D:\DEV\AuSt_RuntimeInstaller\AuStHarvest_AUSTUSER.wxs -> READ *OK*!
20220617_15-09-03-360 (1) D:\DEV\AuSt_RuntimeInstaller\\AuStHarvest_AUSTUSER.wxs -> WRITE *OK*!
20220617_15-09-03-362	          
20220617_15-09-03-362 -------------------------------------------------------------------
20220617_15-09-03-362	
20220617_15-09-03-362	-------------------------------------------------------------------
20220617_15-09-03-363	Create Runtime ended...
20220617_15-09-03-363	-------------------------------------------------------------------

```

Now the AutoCAD OEM Make Wizard can run its magic:

```auto
20220617_15-09-03-379	-------------------------------------------------------------------
20220617_15-09-03-380	BUILD OEM WIZARD started...
20220617_15-09-03-380	-------------------------------------------------------------------
20220617_15-09-03-380	
20220617_15-09-03-381 -------------------------------------------------------------------
20220617_15-09-05-638	          
20220617_15-09-05-638 Edit ACAD2023OEM AuSt OEM Make Wizard xml file...
20220617_15-09-06-657 Edit ACAD2023OEM AuSt OEM Make Wizard xml file...DONE!
20220617_15-09-06-658	          
20220617_15-09-06-658 BUILD ACAD2023OEM AuSt...
20220617_15-09-06-658	          
20220617_15-09-06-658 Run Batch Build_Oem.bat... Param -> ACAD2023OEM AuSt 06<serial>17   
20220617_15-09-30-450 Run Batch Build_Oem.bat... Param -> ACAD2023OEM AuSt 06<serial>17 DONE!
20220617_15-09-30-450	          
20220617_15-09-30-450 BUILD ACAD2023OEM AuSt...DONE!
20220617_15-09-40-580	          
20220617_15-09-40-595 -------------------------------------------------------------------

```

The OEM build is done, now the runtime can be created:

```auto
20220617_15-09-40-595 -------------------------------------------------------------------
20220617_15-09-40-595	          
20220617_15-09-40-595 Run Batch AuStRuntimeInstaller.bat... Param -> AUST2023   
20220617_15-10-06-969 Run Batch AuStRuntimeInstaller.bat... Param -> AUST2023 DONE!
20220617_15-10-06-977	          
20220617_15-10-06-977 -------------------------------------------------------------------

```

When the runtime is done, the AutoCAD OEM Installer Wizard is called to create the installer:

```auto
20220617_15-10-06-979 -------------------------------------------------------------------
20220617_15-10-10-992	          
20220617_15-10-10-992 Deployment Path deleted --> D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\
20220617_15-10-10-992	          
20220617_15-10-10-992 Edit ACAD2023OEM AuSt OEM Installer Wizard xml file...
20220617_15-10-12-014 Edit ACAD2023OEM AuSt OEM Installer Wizard xml file...DONE!
20220617_15-10-12-014	          
20220617_15-10-12-014 BUILD ACAD2023OEM AuSt OEM INSTALLER WIZARD started...
20220617_15-10-12-014	          
20220617_15-10-12-014 Run Batch Build_OemInstaller.bat... Param -> ACAD2023OEM AuSt D-DEPLOY-getAuSt2023-AutoSTAGE_2023__Installer_2.3.28-   
20220617_15-10-40-406 Run Batch Build_OemInstaller.bat... Param -> ACAD2023OEM AuSt D-DEPLOY-getAuSt2023-AutoSTAGE_2023__Installer_2.3.28- DONE!
20220617_15-10-40-406	          
20220617_15-10-40-422 BUILD ACAD2023OEM AuSt OEM INSTALLER WIZARD started...DONE!

```

Changing the OEM installer msi file and adding some registry, application and dependency data needed for installation:

```auto
20220617_15-10-50-426 Edit files -> OemMsi...
20220617_15-10-50-426	          
20220617_15-10-50-426 D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\x64\AuSt\AuSt.msi -> READ *OK*!
20220617_15-10-55-544 D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\x64\AuSt\AuSt.msi -> EDIT *OK*!
20220617_15-10-55-544	          
20220617_15-10-55-544 Edit files -> OemMsi...DONE!
20220617_15-10-55-560	          
20220617_15-10-55-560 Edit files -> OemRegistry...
20220617_15-10-55-560	          
20220617_15-10-55-560 D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\registry.txt -> READ *OK*!
20220617_15-10-55-566 D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\registry.txt -> EDIT *OK*!
20220617_15-10-55-566	          
20220617_15-10-55-582 Edit files -> OemRegistry...DONE!
20220617_15-10-55-582	          
20220617_15-10-55-582 Edit files -> OemSetupXml...
20220617_15-10-55-582	          
20220617_15-10-55-582 D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\setup.xml -> READ *OK*!
20220617_15-10-55-582 D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\setup.xml -> EDIT *OK*!
20220617_15-10-55-582	          
20220617_15-10-55-582 Edit files -> OemSetupXml...DONE!
20220617_15-10-55-582	          
20220617_15-10-56-147 AuStPreviewLib.exe copied...
20220617_15-10-56-664	          
20220617_15-10-56-664 AuStUninstaller.exe copied...
20220617_15-10-57-189	          
20220617_15-10-57-189 AutoSTAGE Runtime copied...
20220617_15-10-57-723	          
20220617_15-10-57-723 CodeMeter Runtime copied...
20220617_15-10-57-723	          
20220617_15-10-57-723 Edit files -> OemEditDependencyPackageXml...
20220617_15-10-57-723	          
20220617_15-10-57-723 D:\DEV\DependencyPackageXml\pkg.AuStPreviewLibExe.xml -> READ *OK*!
20220617_15-10-57-738 D:\DEV\DependencyPackageXml\pkg.AuStPreviewLibExe.xml -> WRITE *OK*!
20220617_15-10-57-738	          
20220617_15-10-57-738 Edit files -> OemEditDependencyPackageXml...DONE!
20220617_15-10-57-738	          
20220617_15-10-57-738 Edit files -> OemEditDependencyPackageXml...
20220617_15-10-57-738	          
20220617_15-10-57-738 D:\DEV\\DependencyPackageXml\pkg.AuStUninstallerExe.xml -> READ *OK*!
20220617_15-10-57-738 D:\DEV\\DependencyPackageXml\pkg.AuStUninstallerExe.xml -> WRITE *OK*!
20220617_15-10-57-738	          
20220617_15-10-57-738 Edit files -> OemEditDependencyPackageXml...DONE!          
20220617_15-10-57-738	          
20220617_15-10-57-738 Edit files -> OemEditDependencyPackageXml...
20220617_15-10-57-738	          
20220617_15-10-57-738 D:\DEV\\DependencyPackageXml\pkg.AuStRuntimeMsi.xml -> READ *OK*!
20220617_15-10-57-738 D:\DEV\\DependencyPackageXml\pkg.AuStRuntimeMsi.xml -> WRITE *OK*!
20220617_15-10-57-738	          
20220617_15-10-57-738 Edit files -> OemEditDependencyPackageXml...DONE!
20220617_15-10-57-738	          
20220617_15-10-57-738 Edit files -> OemEditDependencyPackageXml...
20220617_15-10-57-738	          
20220617_15-10-57-738 D:\DEV\\DependencyPackageXml\pkg.CodeMeterRuntimeMsi.xml -> READ *OK*!
20220617_15-10-57-738 D:\DEV\\DependencyPackageXml\pkg.CodeMeterRuntimeMsi.xml -> WRITE *OK*!
20220617_15-10-57-738	          
20220617_15-10-57-738 Edit files -> OemEditDependencyPackageXml...DONE!
20220617_15-10-57-754	          
20220617_15-10-57-754 Edit files -> OemEditProductPackageXml...
20220617_15-10-57-754	          
20220617_15-10-57-754 D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\x64\AuSt\pkg.aust.xml -> READ *OK*!
20220617_15-10-57-754 D:\DEPLOY\getAuSt2023\AutoSTAGE_2023__Installer_2.3.28\x64\AuSt\pkg.aust.xml -> WRITE *OK*!
20220617_15-10-57-754	          
20220617_15-10-57-754 Edit files -> OemEditProductPackageXml...DONE!

```

Now the installer is done and good, we pack this into a self-extracting archive, one with regular user interface and one with silent mode for quiet installation:

```auto
20220617_15-10-57-754 -------------------------------------------------------------------
20220617_15-10-57-754	          
20220617_15-10-57-754 BUILD ACAD2023OEM AuSt OEM SFX INSTALLER started...
20220617_15-10-57-754 Compile to -> D:\DEPLOY\_getAuSt2023\AutoSTAGE_2023__Installer.exe
20220617_15-14-31-285 BUILD ACAD2023OEM AuSt OEM SFX INSTALLER started...DONE!
20220617_15-14-31-285	          
20220617_15-14-31-285	          
20220617_15-14-31-285 BUILD ACAD2023OEM AuSt OEM SFX INSTALLER started...
20220617_15-14-31-285 Compile to -> D:\DEPLOY\_getAuSt2023\AutoSTAGE_2023__Installer_SILENT.exe
20220617_15-16-46-587 BUILD ACAD2023OEM AuSt OEM SFX INSTALLER started...DONE!
20220617_15-16-46-587	          
20220617_15-16-47-590 -------------------------------------------------------------------

```

We generate update installer if the application has already installed on a user client machine. The update installer is, compared to the regular full installer, very lightweight and therefore easy to deploy. The update installer will be bundled with another needed component for installation.

```auto
20220617_15-16-47-590 -------------------------------------------------------------------
20220617_15-16-47-590	          
20220617_15-16-47-590 Run Batch AuStAppInstaller___OemUpdate.bat... Param -> AUST2023_UPDATE getAuSt2023   
20220617_15-17-21-799 Run Batch AuStAppInstaller___OemUpdate.bat... Param -> AUST2023_UPDATE getAuSt2023 DONE!
20220617_15-17-21-799	          
20220617_15-17-21-799	          
20220617_15-17-21-799 Run Batch BundleApp.bat... Param -> AUST2023_UPDATE ACAD2023OEM AutoSTAGE_2023__Update_Bundle   
20220617_15-17-29-611 Run Batch BundleApp.bat... Param -> AUST2023_UPDATE ACAD2023OEM AutoSTAGE_2023__Update_Bundle DONE!
20220617_15-17-29-611	          
20220617_15-17-29-619 -------------------------------------------------------------------

```

Finally, the AutoSTAGE EasyInstall.exe is build, which is a mechanism for the detection of already installed applications on the user client machine and to download the needed software for installation from our web resources.

```auto
20220617_15-17-29-619 -------------------------------------------------------------------
20220617_15-17-29-619	          
20220617_15-17-29-619 BUILD ACAD2023OEM AuSt OEM EasyInstall started...
20220617_15-17-29-619 Compile to -> D:\DEPLOY\_getAuSt2023\EasyInstall\AutoSTAGE_2023__EasyInstall.exe
20220617_15-17-33-128 BUILD ACAD2023OEM AuSt OEM EasyInstall started...DONE!
20220617_15-17-33-128	          
20220617_15-17-33-128 BUILD ACAD2023OEM AuSt OEM EasyInstall started...
20220617_15-17-33-143 Compile to -> D:\DEPLOY\_getAuSt2023\EasyInstall\AutoSTAGE_2023__EasyInstall_SILENT.exe
20220617_15-17-36-640 BUILD ACAD2023OEM AuSt OEM EasyInstall started...DONE!
20220617_15-17-36-640	          
20220617_15-17-36-640 -------------------------------------------------------------------
20220617_15-17-36-640	
20220617_15-17-36-640	-------------------------------------------------------------------
20220617_15-17-36-640	BUILD OEM WIZARD ended...
20220617_15-17-36-640	-------------------------------------------------------------------
20220617_15-17-36-656	
20220617_15-17-36-656	-------------------------------------------------------------------
20220617_15-17-36-656	-------------------------------------------------------------------
20220617_15-17-36-656	-------------------------------------------------------------------
20220617_15-17-36-656	
20220617_15-17-36-656	BUILD is DONE!
20220617_15-17-36-656	
20220617_15-17-36-656	Elapsed Time --> 00:14:05.8067045
20220617_15-17-36-656	
20220617_15-17-36-656	-------------------------------------------------------------------
20220617_15-17-36-656	-------------------------------------------------------------------
20220617_15-17-36-656	-------------------------------------------------------------------

```

The result of the build: Two self-extracting installation files and a very small update executable. These are the files that will be deployed to the user.

 ![BuildTool_Deploy](https://us1.discourse-cdn.com/flex020/uploads/techsoft3d/original/1X/2f65c27f5b370036db3af27662ca64d6e6d9c6ff.png)

# #6 Logging
Logging of the build process is extremely important. With a comprehensive logging it is very easy to find the source of any build errors. For every step of the build process, a respective build log will be created, logging the functions and outputs.   

There are two log folders:

- The **\_BuildLog** folder, where the logs of every BuildTool process step is saved

 ![BuildTool_BuildLog](https://us1.discourse-cdn.com/flex020/uploads/techsoft3d/original/1X/39abc88c5aa323ad91cfe1b21fc9d41c8587d62b.png)

- The **\_DetailLog** folder, where the logging of the msbuild process is stored

 ![BuildTool_DetailLog](https://us1.discourse-cdn.com/flex020/uploads/techsoft3d/original/1X/a08f101fd54c51dbe1ef13d552e7bb590bdda901.png)

If a build error occurs, the last created log can be consulted to query the source of the disturbance.

# #7 Integration of new platform versions
When Autodesk releases a new AutoCAD and AutoCAD OEM Version, the Visual Studio solutions as well as the BuildTool need to be updated. This is in general a fairly straightforward matter and takes usually not more than two or three days until everything is up and running. If some refactoring of the BuildTool is needed, the preparation can take a little longer, as seen with the current AutoCAD OEM 2023, where the OEM installer uses a new installation mechanism. When everything is done and running, the build process is fixed in place and can be repeated indifferently and continuously.
# #8 Could the BuildTool give aid to you in your build process?
As always: everything you do not have to do by hand or yourself is much preferable. Or: Automation is king. With the BuildTool, I have developed an automation and productivity tool which speeds up the development and deployment cycle enormously and frees the developer of a lot of annoying chores. And I have to say: I am rather proud of this, because the productivity gain I can realize with this is immense and invaluable. And without it, we would not be able to publish an application like AutoSTAGE with all the options and different flavours at all.  

For quite a while now I have been thinking that there may be other developers out there, especially for AutoCAD, who may have the need for a BuildTool like this. There are considerations to extent and open the BuildTool and to offer this to other developers. As I see it, this cannot happen for free as free- or shareware. Over the years, there has been put too much development time and effort into developing this tool. Also, when targeting a general publication for other developers, there is still the need for some mayor refactoring to make it more flexible and open to alternate workflows. Also, some service and documentation from our side should be included, as well as frequent updates, for example when a new AutoCAD version comes along. So, it has to become a commercial product. But it should be very competitive when you work without a build tool more than a couple of hours a month on your build and deployment pipeline.

What do you say? Please let me know what you think and add your thoughts below. Thanks for reading this and your feedback! Looking forward to it.

# #9 About the author
My name is Jens Mueller and I am the lead developer, chief designer, managing director and owner (all in one and chief entrepreneur) of the AutoSTAGE GmbH, based in Germany.  

20 years ago, I aspired to become a lighting designer for concerts, shows and events. I did an internship at a lighting design company in Los Angeles, where I got hooked instantly on AutoCAD 2000. Soon, I was writing some small VBA scripts to automate more mundane drawing tasks doing lighting designs.

I realized that maybe others could need such productivity tools that I was developing, so in 2007 I released (beside my regular work) my first product called “AutoSTAGE for AutoCAD”: This was a plug-in for AutoCAD based on VBA with an extensive dwg symbol library, targeting all the people that work in the concert, event and showbusiness industry.

In 2012, I finally gave up on VBA (at last!) and my lighting design career for good and switch to the AutoCAD ObjectArx-API and developed a brand new and much better application with C++ and C#. Over time, along the way, the barebones start-up CAD shop became a real CAD company.

The new version was released at the end of 2014 and called AutoSTAGE App, also as a plug-in for AutoCAD. With this we (as a company) were also the first in the market to offer a standardized product to do structural analysis with drawing data.

A year later, we jumped onto the AutoCAD OEM bandwagon and released the first AutoCAD OEM application called AutoSTAGE 2016. Since then, we released every year a new AutoSTAGE standalone AutoCAD OEM based application for customers in Germany, Austria and Switzerland.

The AutoSTAGE application bundled together with the AutoCAD OEM platform resulted in a solid business right up until the corona pandemic hit home, concerts, shows and events being the first activities getting cancelled. Nevertheless, we now stand on the cusp of releasing AutoSTAGE with an English language version to “the world”.

After two decades, it turned out that I am a much better and prolific software engineer than lighting designer. This has been a wild ride: learning so much stuff and scaling so many walls, it has been actually very much fun and not boring at all!

So, I consider myself a (humble) expert on everything about developing and deploying applications for and with AutoCAD and AutoCAD OEM. Time permitted, I am looking always for new frontiers and learnings, but time is usually the scarcest resource.

---

<div class="post-metadata">

**Author:** ![dgrieve](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/dgrieve/32/357_2.png) [@dgrieve](https://forum.techsoft3d.com/u/dgrieve)\
**Post date:** [June 21, 2022, 12:02pm UTC](https://forum.techsoft3d.com/t/build-publish-and-update-your-autocad-oem-application-with-fully-automated-buildtool-while-saving-a-lot-of-time-doing-so-part-2/828/2 "2022-06-21T12:02:33Z")

</div>

Great post and tool to improve developers productivity. Thanks for taking the time to post this here.
