C# Winfrom ClickOnce使用问题记录

    xiaoxiao2023-09-25  133

    最近玩ClickOnce的时候发现很多问题,在晚上暂时还没有找到解决方案,折腾了好久,现将发现的问题以及对应的解决方式记录一下方便以后查看。

     

    使用ClickOnce发布安装包,在安装的时候安装路径是不可以选的,安装和升级都又ClickOnce控制,这对我们来说无疑是又方便,又麻烦,方便是因为不用自己去管理版本,麻烦是因为有些客制的调整没办法通过设置去完成。在此记录最近使用ClickOnce所遇到的问题,方便以后查看。

     

    1、安装路径:

     一般在C:\Users\Administrator\AppData\Local\Apps\2.0\下面,我的软件完整的安装路径是

    C:\Users\Administrator\AppData\Local\Apps\2.0\GQQ062BH.LQV\OPAEOXDT.LM2\spee..tion_d5d2484ff1d604dc_0001.0000_058e94505641e003,后面的三个层级的文件夹可能会有不同,但是在2.0的文件夹下面应该都可以找到我们的程序。

     

    2、当安装的时候提示“已经安装一个相同的应用程序,请先卸载其他版本才可以安装”:

    这种可以先找到之前安装的路径下面有一个manifests文件夹有一些跟程序相关的文件,将他们删除即可。

     

    3、安装和更新的窗口语言不是中文的

    当计算机上面已经安装了.net Framework,但是没有安装.net Framework中文的语言包时会出现这种现象。解决方式下载安装对应版本的中文语言包,微软官方下载地址

     

    4、设置程序的公司名、产品名、版权等

    和其他WinForm程序一样, 在解决方案管理器中右键对应项目 -> 属性 -> 应用程序 ->程序集信息中设置

     

    5、修改安装/更新的时候显示发布者和产品名称

    在解决方案管理器中右键对应项目 -> 属性 -> 发布 -> 选项 -> 说明

     

    6、创建各种快捷方式

    因为ClickOnce的设置没办法设置创建各种快捷方式,所以只能通过代码创建,代码如下:

    //获取程序开始菜单中的快捷方式路径 //Application.CompanyName 和 Application.ProductName 需要先在项目属性中设置 string menuShortcut = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Programs),string.Format(@"{0}\{1}.appref-ms",Application.CompanyName,Application.ProductName)); //获取要生成快捷方式的路径(例如:桌面快捷方式) string desktopShortcut = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),Path.GetFileName(menuShortcut)); //判断桌面快捷方式是否存在,不存在则创建 if(!File.Copy(desktopShortcut)) { File.Copy(menuShortcut,startupShortcut); }

     

    最新回复(0)