POST
|
yes... and if I don't include the DLL's with my installation... I can not get the app to run on a system with a mismatched ArcGIS installed, either a newer version or an older version as you suggested.
... View more
07-16-2015
02:49 PM
|
0
|
1
|
917
|
POST
|
I understood the license agreement however that was not my question. My question has to do this this problem: For an application developer to support and ArcObjects application on multiple versions of ArcGIS (ie 10.0, 10.1, 10.2, 10.3, ...) they would need to a separate install package built against each version of ArcGIS, in this case 4 release packages. If ESRI would allow ArcObjects developers to package the build referenced DLLs with their application package, in this case I would build against ArcGIS 10.0, and it could run against all versions of ArcGIS (10.0, 10.1, 10.2, 10.3,...). Since the application packaged with the assemblies would still require as ESRI ArcGIS/ArcEngine license function, wouldn't it be a good idea for the ArcObjects license to allow redistribution of the assemblies??? Another work around would be to allow redirecting older assembly references to the newer assembly DLL. For example, when an application build on ArcGIS 10.0 with reference to a ESRI.ArcGIS.Verison.dll 10.0.0.0 is installed on a system with ArcGIS 10.2 install which has a registered ESRI.ArcGIS.Version 10.2.0.0 installed, at runtime, the call to the ESRI.ArcGIS.Verison.dll 10.0.0.0 can be redirected to ESRI.ArcGIS.Verison.dll 10.2.0.0. The ArcGIS 10.2 installation has a ESRIRegAsm.exe.conf that looks like it is supposed to make this mapping: <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="ESRI.ArcGIS.Version" culture="" publicKeyToken="8fc3cc631e44ad86"/> <bindingRedirect oldVersion="9.3.0.0-10.1.0.0" newVersion="10.2.0.0"/> </dependentAssembly> </assemblyBinding> If this supposed to work this way??? I have been asking this question and have not had an answer yet??? Do we know the purpose of this binding redirect??? If this would work, then my application build on ArcGIS 10.0 without local copies of the ESRI DLL's would work. Thoughts???
... View more
07-16-2015
01:13 PM
|
0
|
0
|
644
|
POST
|
An Add-In architecture would not work for this application, it is a data extraction application that runs in a few modes: 1) nightly after the reconciling and Posting and cleanup activity in a batch mode 2) On demand in a command line mode 3) Interactively in a GUI mode (This one would be ok as an Add-In) Also, This process does change detection using versions and does full object extraction including internal edge/junction connectivity. This process might be a candidate for the ArcGIS Runtime APIs but I have not verified the complete geodatabase internals are available through that API (connectivity down to the edge/junction level), I will need to investigate that further. I still do not understand why my application calls to the ESRI assemblies that are newer than the assemblies I compiled against would not be redirected. Nobody has been able to answer my question about why the redirects are defined in the ESRIRegAsm.exe.config file if they don't actually work???? Can you or anyone else answer this?? And my next question is why is it against the license agreement to distribute the .DLL files if the end user still needs to have a valid license to run them??? Shouldn't ESRI allow ArcObjects developers to package the DLLs with their released install packages because they still will required a license to run??? So... unless someone can instruct me on how to compile an ArcObjects stand alone application to run on the compiled version of ArcGIS and newer, I will be forced to build install packages for all ArcGIS releases my customers expect to run this application on (10.0, 10.1, 10.2, 10.3).
... View more
07-15-2015
01:28 PM
|
0
|
0
|
917
|
POST
|
Sami, I have another thread with a similar discussion (https://community.esri.com/thread/162083)... and there is a way to allow a stand-alone app to function on a system with a different version of ArcGIS install than the version the app was built on however it requires the installation package for the app to include the ArcGIS/ESRI referenced assemblies. I understanding is this is against the ESRI license policy to redistribute the ESRI assemblies with your application built on ArcObjects. Since the application packaged with the assemblies still require as ESRI ArcGIS/ArcEngine license function, shouldn't the ArcObjects license allow redistribution of the assemblies??? Thoughts? Todd
... View more
07-14-2015
02:03 PM
|
0
|
2
|
644
|
POST
|
Freddie, Thanks for the reply. As you can see, I did get the Local Copy=True and Specific Version=False to work... but this requires me to release the ESRI Assemblies/DLL's with my installation package and I thought this was against ESRI licensing rules??? This solution as you proposed or doing a separate installation for each version of ArcGIS supported with Local Copy=False are the only options I have working so far. Is the ESRIRegAsm.exe.config redirect from older versions to the latest version supposed to work??? I would have guessed that would have been the solution to redirect my 10.0.0.0 requests to the newer 10.1.0.0 or 10.2.0.0 installed assemblies??? Todd
... View more
07-14-2015
01:37 PM
|
0
|
3
|
917
|
POST
|
I have run four tests I ran: Test 1) I build my application on ArcGIS 10.2 with DLL's excluded and installed on the ArcGIS 10.2 system and it did find the global assemblies from the ArcGIS 10.2 installation and all ran fine. Test 2) I build my application on ArcGIS 10.0 with DLL's excluded and installed on the ArcGIS 10.0 system and it did find the global assemblies from the ArcGIS 10. installation and all ran fine. Test 3) I build my application on ArcGIS 10.0 with DLL's excluded and installed on both a ArcGIS 10.1 and an ArcGIS 10.2 system and on both systems my app did not find/redirect to the global assemblies from the ArcGIS 10.1/ArcGIS 10.2. installation and my app existed with the error message "Could not load file or assembly ESRI.ArcGis.Version, Version 10.0.0.0". Test 4) I built my application on ArcGIS 10.0 with local DLL's included in the installation package (I know we are not supposed to do this, just testing) and installed it on both an ArcGIS 10.1 system and an ArcGIS 10.2 system and both ArcGIS 10.1 and ArcGIS 10.2 run well on the respective systems and my application ran well on both systems too. I assume my application was using the locally installed ArcGIS 10.0 DLLs from my app install package, and the ArcGIS 10.1 and ArcGIS 10.2 system ran well using the global assemblies/DLLs installed by the ArcGIS 10.1 and ArcGIS 10.2 installations however I should not be releasing ESRI DLLs with my application. So... if newer ArcGIS installations/assemblies (ie 10.1, 10.2, 10.3...) are supposed to support/redirect applications/assembly requests written on older versions (ie 10.0), I need help making this happen. If this is supposed to be supported, we should be able to make my Test 3 above run. Any ideas on how to make this work??? Is the intent by ESRI to support this??? If anyone has any ideas to solve this, let me know and I can test it.
... View more
07-14-2015
01:28 PM
|
0
|
3
|
917
|
POST
|
I have an ArcObjects 10.0 VB.Net stand alone application I built and want to install on various ArcGIS system at different release levels, 10.0, 10.1, 10.2, ... I am able to compile on each version and run only on that version but I would like to compile once and be able to install and run on all versions. When I run on a version (10.2) not matching the compiled version (10.0), I get an error: Error encountered in frmMain.Load #53 - Could not load file or assembly 'ESRI.ArcGIS.Version, Version=10.0.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86' or one of its dependencies. The system cannot find the file specified." I have tried compiling on 10.0, 10.1, and 10.2 and I get the similar error (just change the message to Version=10.0.0.0 or Version=10.1.0.0 or Version 10.2.0.0) when I run on a different version. I looked at the ArcGIS 10.2 ESRIRegsm.exe.config file and it looks like there is an attempt to map older version requests to the latest installed version: <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="ESRI.ArcGIS.Version" culture="" publicKeyToken="8fc3cc631e44ad86"/> <bindingRedirect oldVersion="9.3.0.0-10.1.0.0" newVersion="10.2.0.0"/> </dependentAssembly> </assemblyBinding> But that does not appear to be working??? Is it possible to compile once and run it on all version of the major release (ie 10.X)? If so, can you send me some instructions on how to do this?
... View more
07-13-2015
02:28 PM
|
1
|
9
|
5857
|
Title | Kudos | Posted |
---|---|---|
1 | 07-13-2015 02:28 PM |
Online Status |
Offline
|
Date Last Visited |
03-19-2024
02:15 PM
|