Update of MSMQ Studio tomorrow

2007-01-03 12:45:16 by Kjell-Åke Gafvelin

Tomorrow I will release a "new" version of MSMQ Studio with an extended usage period. There will not be too many new features or bugfixes in it as I have not had too much time to spend on it.


MSMQ Studio updated

2007-01-04 14:27:33 by Kjell-Åke Gafvelin

I have now uploaded a new version of MSMQ Studio where I have extended the expiry date to 1st of April 2007. There are only minor fixes in this version. The only new feature is that I am now using WiX to create the installer for MSMQ Studio.


Download MSMQ Studio


WPF problem

2007-01-05 11:48:54 by Kjell-Åke Gafvelin

For some reason I get an error when I run a XAML file from a website, I have checked the security settings for XAML and XBAP and they are enabled, but if I save the file to disk and run it it works flawless.

The error that I get is the following:

Startup URI:
Application Identity: file:///c:/WINDOWS/Microsoft.Net/Framework/v3.0/WPF/XamlViewer/XamlViewer_v0300.xbap#XamlViewer_v0300.application, Version=, Culture=neutral, PublicKeyToken=c3bce3770c238a49, processorArchitecture=msil/XamlViewer_v0300.exe, Version=, Culture=neutral, PublicKeyToken=c3bce3770c238a49, processorArchitecture=msil, type=win32

System.Configuration.ConfigurationErrorsException: Error creating the Web Proxy specified in the '' configuration section. ---> System.Net.Sockets.SocketException: An invalid argument was supplied
at System.Net.SafeCloseSocketAndEvent.CreateWSASocketWithEvent(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType, Boolean autoReset, Boolean signaled)
at System.Net.NetworkAddressChangePolled..ctor()
at System.Net.AutoWebProxyScriptEngine.AutoDetector.Initialize()
at System.Net.AutoWebProxyScriptEngine.AutoDetector.get_CurrentAutoDetector()

And when I try to run an XBAP file from a website I get the following error:

Startup URI:
Application Identity:, Version=, Culture=neutral, PublicKeyToken=256a0a4972738a32, processorArchitecture=msil/FinanceApplication.exe, Version=, Culture=neutral, PublicKeyToken=256a0a4972738a32, processorArchitecture=msil, type=win32

System.Runtime.InteropServices.COMException (0xFFFFFFFF): Exception from HRESULT: 0xFFFFFFFF
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Deployment.Application.LockedFile.AcquireLock(String path, TimeSpan timeout, Boolean writer)
at System.Deployment.Application.SubscriptionStore.AcquireLock(DefinitionIdentity asmId, Boolean writer)
at System.Deployment.Application.SubscriptionStore..ctor(String deployPath, String tempPath, ComponentStoreType storeType)
at System.Deployment.Application.SubscriptionStore.get_CurrentUser()
at System.Deployment.Application.DeploymentManager..ctor(Uri deploymentSource, Boolean isUpdate, Boolean isConfirmed, DownloadOptions downloadOptions, AsyncOperation optionalAsyncOp)

What I have found out so far for this error is that it tries to lock a temporary file that does not exist!

If you have any clue what could be causing this please leave a comment or send a mail!

Problem solved! It was the very annoying software firewall that our organization installs on all computers that caused the errors... Crap!


Wix/Msi Tip: Use ALLUSERS property

2007-01-11 14:14:46 by Kjell-Åke Gafvelin

If you create a installation package do not forget to set the ALLUSERS property. If you do not set the ALLUSERS property it will default to per-user installtion.

The values for ALLUSERS property is:

  • 1 for per-machine installation.
  • 2 for per-user installation.

I created an installation package for the project that I am working on at the moment. The installation package installs a service and a web-application and both uses some shared .NET components that I install into the GAC. I had'nt set the ALLUSERS property in the installtion package so when we installed it we got very strange problems, which turned out to be normal due to the fact that it was a per-user installation. The first thing we noticed was that for some reason when we performed an upgrade the installer did not remove some components from the GAC and sometimes it did not even install the new ones either. I am not 100% sure that this is fixed now either but we'll see, otherwise I have to see what will happen if I move the action MsiUnPublishAssemblies after the action StopServices. The other thing we noticed was that depending on who was logged in we had different versions installed if we looked in Add/Remove Programs, this was at least fixed by setting the ALLUSERS property to 2.


Wix Tip: Changing installer database language

2007-01-11 14:26:04 by Kjell-Åke Gafvelin

To change the installer database language to something else than english using WiX you need to both set the Language and CodePage attributes in the Product element. If you do not specify the CodePage then all characters that are non-english will show as garbage instead.

Example to change language to Swedish:

<Product Id="*" Name="ABC ÅÄÖ" Language="1053" Codepage="1252" Version="" Manufacturer="" UpgradeCode="6BD147DF-FAD1-4875-A197-18DB145C7EC0">