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: http://winfx.members.winisp.net/images/torustrip.xaml Application Identity: file:///c:/WINDOWS/Microsoft.Net/Framework/v3.0/WPF/XamlViewer/XamlViewer_v0300.xbap#XamlViewer_v0300.application, Version=220.127.116.11, Culture=neutral, PublicKeyToken=c3bce3770c238a49, processorArchitecture=msil/XamlViewer_v0300.exe, Version=18.104.22.168, Culture=neutral, PublicKeyToken=c3bce3770c238a49, processorArchitecture=msil, type=win32 System.Configuration.ConfigurationErrorsException: Error creating the Web Proxy specified in the 'system.net/defaultProxy' 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)
And when I try to run an XBAP file from a website I get the following error:
Startup URI: http://scorbs.com/workapps/woodgrove/FinanceApplication.xbap Application Identity: http://scorbs.com/workapps/woodgrove/FinanceApplication.xbap#FinanceApplication.application , Version=22.214.171.124, Culture=neutral, PublicKeyToken=256a0a4972738a32, processorArchitecture=msil/FinanceApplication.exe, Version=126.96.36.199, 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.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!
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.
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="188.8.131.52" Manufacturer="geekProject.com" UpgradeCode="6BD147DF-FAD1-4875-A197-18DB145C7EC0">