查找silverlight OOB应用程序的安装位置

时间:2010-09-03 09:41:47

标签: c# .net silverlight silverlight-4.0

有没有办法找到运行时安装OOB应用程序的位置?我意识到一旦安装了OOB应用程序,它就被放置在AppData中的“OutOfBrowser”文件夹中。但是,该文件夹以长号(可能与时间戳相关)命名,我不知道它在每次安装时都会更改。由于我想从现有的Windows应用程序启动OOB应用程序,我在第一次启动它时会存储OOB应用程序的位置,然后从我现有的Windows应用程序中读取该路径以启动它。有没有办法在运行时找到OOB的位置?

3 个答案:

答案 0 :(得分:2)

我意识到这是一个旧线程,但我只是想找到位置,所以希望其他人能找到这个有用的

您的OOB应用程序将使用"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 123456789.www.my.website.com之类的si启动程序,从那里您可以获得 123456789.www.my.website.com 作为应用程序的半限制名称, xap fille应位于此位置:

C:\Users\[User ID]\AppData\Local\Microsoft\Silverlight\OutOfBrowser\123456789.www.my.website.com

答案 1 :(得分:0)

我不希望你能从Silverlight应用程序中找到它。它基于在运行时生成的AppId使用的位置。 AppId只是一个带有域名的随机数。

有一个名为Deployment.GetAppIdForUri的方法,但它有SecurityCriticalAttribute来阻止访问。

答案 2 :(得分:0)

在此Index文件夹中注明了silverlight应用程序: C:\ Documents and Settings \ Rod \ Local Settings \ Application Data \ Microsoft \ Silverlight \ OutOfBrowser \ index

如果你想要你想要的应用程序的原点你可以在那里加载文件并迭代它以获得路径...有点hacky但不知道另一种方式。

这是thread I posted on SLLauncher和其他一些调查结果。