Problems with ISymbologyControl LoadDesktopStyleFile and installed ArcGIS Desktop 10 - styles

I am sorry for my bad english. I use C++ and Qt framework for programm development. I call method
ISymbologyControl LoadDesktopStyleFile and receive error code: "1075 800a0433 : ArcGIS Desktop is not installed
on this machine so Style files cannot be read", but I have installed ArcGIS Desktop 10.0. I use
esriLicenseProductCodeArcEditor license product code for initialize license:
IAoInitializePtr ipInit(CLSID_AoInitialize);
::AoInitialize(NULL);
esriLicenseStatus lic;
pIAoInit->Initialize(esriLicenseProductCodeArcEditor,&lic);
Program starts and works normally, but all of ArcObjects depends on ArcGIS Desktop don't work. When I used
ArcGIS 9.3 everything worked. I use #import directive for use desktop libraries, such as:
#import c:\\Program Files (x86)\\ArcGIS\\Desktop10.0\\com\\esriDisplayUI.olb raw_interfaces_only raw_native_types no_namespace, named_guids
for all required libraries. It works in 9.3 but doesn't work now in 10.0.
What is incorrect in my actions?

Related

Is there a Xlib DLL for Windows?

Out of private / experimental interest, I've been writing low-level cross-platform UI functionality with .NET Standard 2.0, and implemented creating a window
on Windows (via WinAPI P/Invoke) and
on Linux with an X11 server (via Xlib/libX11 P/Invoke).
So far I can run the X11 code nicely on Linux with MonoDevelop, but I thought it would be useful to develop for an X server running on Windows (like Cygwin/X or Xming X Server).
For that however, I require an Xlib Windows DLL which I can P/Invoke to, as .NET Core only supports Windows DLLs on Windows platforms (AFAIK).
Before I get myself into the trouble of "porting" the Xlib source to compile with MSVC++, I wonder if there is any project available which already creates an Xlib Windows DLL, or if any such compiled DLL is readily available somewhere?
I found a X11.dll as part of some commercial X server from the mid-1990s for Windows NT, except I don't remember which X server product however. I do know, however, that it'll do what you want.
It's 32-bit, but you can use this DLL: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/segin-utils/X11.dll
I used it to produce a 32-bit Windows build of a window manager I had worked on years ago: https://github.com/segin/matwm2
Build: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/segin-utils/matwm2.exe
If I can figure out how to upload release artifacts to GitHub, I'll probably archive these files there.

Unity 3d installing Standard assets for Linux/Ubuntu

I have installed Unity 3d on my Linux system.I have downloaded the Window version of the standard assets (.exe) since there is no option for installation in Linux, I tried installing the Standard assets(.exe) through wine... but im getting an error that unity requires windows 7 or more... But since this is Linux i cant help it.Is there any other way?
You can't expect .exe program to work on Linux out of the Box without the help of visual machine or some other software such as Wine. You don't even need the exe program to install the Standard Assets. You can get it directly from the Asset store from your Linux.
It's recommended that you use other OS at this time because the Linux version of Unity is still in experimental mode and you may have problems with it in the future.
You just download unity using the following link,
Unity 5.1 for Linux
It will contains standard asset also. Don't forget to select standard assets while installing.

Developing using Anjuta and Glade for GTK2

I am developing an app for a system that has GTK2 as the latest GTK library installed. I'm using Anjuta and Glade's wysiwyg design interface.
I've used "project > add library" to add the library support for GTK2
and used the project tab on the left to remove support for GTK3.
When I try running my application I get the following error message:
CRITICAL **: couldn't load builder file: src/gtk_foobar.ui: required gtk+ version 3.0, current version is 2.24
This error starts coming up as soon as I remove GTK3 as one of the libraries.
I need this application to work on systems without GTK3.

DirectX libs in x64 program

I'm trying to compile a program as 64 bits, it works perfectly with a simple console program but if I use my directX program it says me: error LNK1181: cannot open input file 'd3dx9.lib'. When I compile my directX program as 32 bits it works but in x64 it doesn't. I think visual studio 2013 has a default directory of directx with is x86 but I don't know if I'm right or not. I need to use x64 directX libs. How could I link them? Thanks for read.
VS 2013 comes with the Windows 8.1 SDK, and as of the Windows 8.0 SDK the DirectX SDK is considered deprecated. All versions of D3DX (D3DX9, D3DX10, and D3DX11) are also deprecated and are only available with the legacy DirectX SDK. You can use the legacy DirectX SDK in combination with the Windows 8.x SDK, but it requires the reverse path setup of VS 2010 or earlier. See MSDN and this blog post.
In your case, you probably don't have your project's VC++ Directories properties set up correctly for the x64 configurations:
Executable path:
Win32 configs: $(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86
x64 configs: $(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86
Include path
Both configs: $(IncludePath);$(DXSDK_DIR)Include
Library path
Win32 configs: $(LibraryPath);$(DXSDK_DIR)Lib\x86
x64 configs: $(LibraryPath);$(DXSDK_DIR)Lib\x64
Note: If you were using the v120_xp Platform Toolset for Windows XP support, you'd actually be using the Windows 7.1A SDK, and would go with the same path order as VS 2010 which is the reverse of the ones shown here--i.e. the DirectX SDK paths would go first, then the standard paths. See this post if you are trying to target Windows XP.
This all said, unless you are specifically targeting Windows XP the recommendation is to (a) use Direct3D 11 instead of legacy Direct3D 9, (b) avoid using the legacy DirectX SDK at all, and (c) avoid using D3DX9/D3DX10/D3DX11.
See also:
Living without D3DX
DirectX SDK Tools Catalog
DirectX SDK Samples Catalog
DirectX SDKs of a certain age

VC 2012 merge modules under Windows XP

We have a VC++ 2012 application for native Windows (classic fat app)
Also we have a NSIS based installer.
I would like to add the VC110_CRT merge modules to the installer but the merge modules cannot be installed on Windows XP. The error Message is.
This installation package cannot be installed by the Windows Installer service. Your must install a Windows service pack that conatains a newer version of the Windows Installer service.
and yes, Its a fully updated Windows XP (SP 3 + all updates). As far as I understand it, we need at least Windows Vista to install the update.
My Question:
Is there a way to convert the Microsoft_VC110_CRT_x86.msm module, so its usable under Windows xp
I know I can use the vs_2012_redist, but it has ~6,5 MB instead of ~0,8 of the merge modul size.
and I only need the CRT, because the app uses QT and no MFC/ATL/....
This is an incorrect error message. MSIEXEC is looking at the schema verson in the SummaryInformationStream of the MSM and seeing it's newer then the version of MSI on Windows and giving you this error message.
In truth, merge modules can never be installed because they have no concept of Product or Features. They are merely encapsulated collections of components and related installation metadata. Merge modules are like .LIB files in C/C++ and are statically linked (merged) into an MSI at build time.
NSIS isn't a Windows Installer technology so it can't use merge modules. Instead you should use the redistributable provided by Microsoft and launch the EXE with the correct command line.
You're only other options are to deploy the desired DLL privately (in your application directory), statically link it in your EXE or dump NSIS and create a proper MSI.
Be aware of the security / patching implications of your choice.

Resources