Issue

Using Arisan with Windows Vista you may experience a problem when trying to create a platform or when calling methods that create a platform theirselfs, like all overloadings of EasyOpenDatabase().


Background

(Skip this part if you are only interested in a quick solution)

Those problems are caused by an unfortunate interaction between ARIS, .NET and the Vista security feature UAC.

In order to protect your system against malicious software Vista is able to run processes in a mode called "virtualization". Processes that run virtualized are slightly seperated from the main system. They use a copy of the registry, write to a special parts of the HDD drives etc. Nowadays most applications not designed especially for Vista run virtualized and so does ARIS Toolset.

To run an application non-virtualized (or "UCA-compatible") the applications needs a win32manifest. This manifest is compiled directly into the executable file and tells Vista that the application is safe and complies 100% to UAC. With .NET 3.5 you are able to produce such applications. Moreover this is the default for newly created projects in Visual Studio 2008.

With that default setting your application (using Arisan) runs in compatible mode while ARIS Toolset runs virtualized. When both processes try to exchange data Vista interferes, because that is exactly the sort of action UAC is designed to prevent.

Since a win32manifest can only be part of executables we weren't able to solve this issue in the arisan.dll at all. But the solution to this is rather easy:


Solution

You just need to switch off the win32manifest. Just go to your application properties/ Application/ Resources/ Icon and manifest/ Manifest and choose "Create application without a manifest" (see figure 4). That's it.

If you are new to Visual Studio 2008 here is a step by step explanation.



Step 1:



Step 2:



Step 3:



Step 4:



Do not turn off UAC

It may seem another solution to turn off UAC entirely. Doing so solves this problem as well but we do not recommand this solution. UAC is a useful feature that is designed to protect your data and shouldn't be turned off.