Вы можете обойти это, передав URL-адрес параметру sllauncher.exe
/origin
, например ::
sllauncher.exe /overwrite /emulate:c:\temp\Hello.xap /origin:c:\temp\Hello.xap?key=value
.
В вашем коде Silverlight вы можете получить доступ к значению параметра /origin
через
Application.Current.Host.Source.OriginalString
// file:///C:/temp/Hello.xap%3Fkey=value
(MSDN: http://msdn.microsoft.com/en-us/library/system.windows.interop.silverlighthost.source(v=vs.96).aspx)
К сожалению, поскольку URI является file:///
URI, параметры запроса не сохраняются в Source.QueryString
. Однако это также может создать возможности для «злоупотребления» - мой ограниченный опыт заключается в том, что sllauncher
запустится, если то, что передано в /origin
, несколько выглядит как путь или URI.