clickonce部署设置,在其他计算机中安装后gif图像无法工作



我正在尝试为我的WPF c#应用程序部署一个安装程序。我想使用clickonce来完成它,因为它允许我在应用程序中进行任何更新时自动更新。

实际上,我为我的应用程序创建了一个设置。当我在另一台计算机上安装该应用程序时,它会工作。。。当我更新我的应用程序时,它会自动检测程序何时启动,用户可以安装新的更新并运行应用程序。

但当程序运行时,它不会显示任何gif图像。当我在另一台电脑上安装该应用程序时,它会创建一个桌面快捷方式和开始菜单图标。当我通过快捷方式或"开始"菜单运行程序时,它不会显示任何gif图像。它在不显示gif图像的情况下工作良好。

中安装的应用程序

C:UsersdilanAppDataLocalApps2.0TA5EZNVO.D56TY5K2KDD.7B6rcu_..tion_d1f05f20b6f0835a_0001.0000_d9a8ddd982f2efb7

我来到这个位置,双击exe文件。然后应用程序正在运行并显示gif图像。但它不会更新。只有通过桌面快捷方式或"开始"菜单运行应用程序时,才会进行更新。

我通过将图像文件放入Images文件夹、Resources文件夹来测试该应用程序。。。但它不起作用。。

我想我在创建安装文件时遗漏了一些要点。有人能帮我吗,如何使用clickonce部署安装文件,该应用程序也可以与gif图片一起使用。

以下是XAML的外观:

<Image gif:AnimationBehavior.SourceUri="pack://siteoforigin:,,,/Images/tapcard.gif" 
VerticalAlignment="Center" Width="100" Margin="0,0,20,0"/>

我可能没有在你的项目中灌输你的图像。看看这个答案。您需要在解决方案资源管理器中右键单击该文件,然后单击Include in project

当包含它们时,图像文件的"构建操作"将设置为Resource-无需单独复制图像(默认情况下,Copy to Output Directory应设置为Do not copy)。

假设您在名为Progress.gif的文件夹Images中有一个WPF项目。在后面的代码中,你这样引用它:

new BitmapImage(new Uri("pack://application:,,,/Images/Progress.gif", UriKind.Absolute))

在XAML中,您可以像以下一样简单地引用图像

<Image Source="./Images/Progress.gif" >

您也可以使用另一个URI方案,例如pack://siteoforigin:,,,/Images/tapcard.gif指的是位于部署应用程序的服务器上的映像。

如果您不想受到在编译时声明的应用程序资源,还有另一个选项。不,这不涉及使用完全合格的Uris互联网上的参考资源。虽然,这确实是支持。WPF为应用程序的概念来源地,即应用程序的来源地已部署。例如,如果您的应用程序是从http://nerddawg.blogspot.com,然后是您的应用程序的来源地是http://nerddawg.blogspot.com.访问图像的步骤images/AuntDahlia.gif在该位置,您可以在标记中指定:<Image Source="pack://siteoforigin:,,,/images/AuntDahlia.jpg" />

因此,您可以在Publis选项卡上的"发布位置"或"安装文件夹URL"(如果指定)中签入WPF项目的属性。如果安装URL例如为http://myserver:8080,则需要通过在浏览器中键入该URL来从客户端验证文件http://myserver:8080/Images/tapcard.gif是否存在。根据您网站的文件夹结构,您可能需要手动将文件复制到那里。

pack://siteoforigin:表示您正在通过网络从web或文件服务器获取资源。

最新更新