我正在创建一个安装程序,它需要更改我的一个silverlight组件的配置文件。 该组件的配置文件位于XAP文件中。有什么方法可以更改该配置文件吗?NSIS更改XAP文件中存在的配置文件,即Silverlight组件构建
0
A
回答
0
我已经在C#中编写了控制台应用程序,它正在XAP构建中进行这些更改。我只是从我的安装程序调用该应用程序,因为我无法在NSIS中找到任何方法。
1
将您的配置文件与您的XAP文件并排存放。
- ../YourProject.XAP
- ../YourProjectSettings.XML
下面的代码会下载一个名为 “将Settings.xml”,这在同一个目录下坐作为您的XAP文件,并将其放置在独立存储中。随后可以根据需要打开/关闭/解析它。
private void DownloadFile()
{
Uri downloadPath = new Uri(Application.Current.Host.Source, "Settings.xml");
WebClient webClient = new WebClient();
webClient.OpenReadCompleted += OnDownloadComplete;
webClient.OpenReadAsync(downloadPath);
}
private void OnDownloadComplete(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error != null) throw e.Error;
using (var isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
IsolatedStorageFileStream isoStream = isoStorage.CreateFile("CachedSettings.xml");
const int size = 4096;
byte[] bytes = new byte[4096];
int numBytes;
while ((numBytes = e.Result.Read(bytes, 0, size)) > 0)
isoStream.Write(bytes, 0, numBytes);
isoStream.Flush();
isoStream.Close();
}
}
这样一来,你的安装程序可以添加必要的设置文件并排侧通过有条件文件拷贝你的XAP。破解XAP是一种破解;它会使您的安装程序代码复杂化并使签名的XAP无效。
+0
不错,优雅。现在所有的安装程序都需要更新Settings.xml。 – 2013-02-20 14:36:17
相关问题
- 1. Silverlight XAP文件不更新
- 2. NSIS配置文件
- 3. 手动更改构建配置文件
- 4. Silverlight的XAP文件4
- 5. silverlight 5签署xap文件
- 6. 在Silverlight插件加载之前修改.xap文件
- 7. XAP文件是如何构建的?
- 8. 未在XAP文件中添加Silverlight内容文件
- 9. 如何在XPCOM组件中更改FF4的配置文件
- 10. Ant构建文件配置
- 11. Silverlight的XAP文件的安全性
- 12. 如何更改URL中.wxs文件,构建配置
- 13. 更改配置文件7.5
- 14. 更改配置文件,SQL
- 15. 问题在TFS的后期构建事件中签署xap文件构建
- 16. Silverlight和Prism - 在xap文件之外加载一个dll文件?
- 17. 更改文件组文件
- 18. 在ant构建文件中找到shell配置文件?
- 19. 更改组件文件夹的位置
- 20. 更改存储在TFS中的配置文件中的路径
- 21. Silverlight:如何在包含在XAP文件夹中的目录中加载文件
- 22. 蚂蚁构建的WAR文件中的休眠配置文件
- 23. 更改phpmyadmin中的配置文件
- 24. 更改ASP.NET Core中的配置文件
- 25. Silverlight获取XAP文件日期
- 26. 加密一个Silverlight XAP文件
- 27. 包装Silverlight xap输出xml文件
- 28. xap文件下载位置
- 29. 即时创建配置文件
- 30. 如何配置maven安装插件来更改项目构建文件位置
xap文件只是zip文件。所以你可以提取一个文件并使用标准的zip文件处理来替换它。我不知道NSIS是否可以查看zip文件。 – ChrisF 2013-02-19 15:25:39
添加了silverlight和xap标记。你的答案在于应用程序设计而非安装魔术。 – 2013-02-19 20:13:19
Mike看起来像有一个解决方案。谢谢迈克! – 2013-02-20 14:33:21