VS打包程序制作的快捷方式指向错误的位置(指向安装包文件) 导致每次启动都要windows正在配置

刚刚开发完成的一个WPF项目,使用VS2010自带的打包工具对它进行打包(设置开始菜单的快捷方式),安装后,发现快捷方式的目标指向有问题。这里我主要想说明打包后进行安装完毕后,快捷方式的指向问题。

1、打包后生成文件说明

我们都知道通过VS工具自带的打包后会生成两个文件,一个是exe文件,一个是msi文件。

需要说明的是msi文件时window installer开发出来的程序安装文件,它可以让你安装、修改、卸载你所安装的程序,也就是说VS工具打包生成的msi文件就是window installer的数据包,把所有和安装文件相关的内容封装在一个包里。VS工具打包生成的exe文件是主要是用于检查安装的环境,当安装的环境检查成功后,会自动再安装msi文件。当然可能会有exe文件也能直接安装的,但是开发exe的时候要比msi困难多,因为需要编写和安装、修改、卸载相关的很多内容,而msi把这些功能都集成化了,易于开发windows程序安装包。

2、 快捷方式指向说明

首先通过vs生成的exe检查环境通过后调用msi文件,安装完毕后,右键快捷方式的图片,发现一个比较奇怪的问题:如图

可以根据上图发现,快捷方式的"起始地址"和"目标"都不对,除此之外还有对于快捷方式还有以下的问题:

1、第一次点击快捷方式可以正常打开软件,但是当软件安装所在的文件夹下有文件更新或者删除时候,会出现进度条。(进度条达到100%后也能打开)。

2、把安装包msi文件删除后,再次点击快捷方式,则无法打开软件。(提示:无法访问安装包文件msi) 。

根据上面的现象,可以基本上确定两点:(1)快捷方式指向目标设置有问题。(2)快捷方式指向的是MSI文件。

至于提到的第一点:我测试发现我在程序启动时候把安装路径下的一个文件重命名或者删除,那么每次启动快捷方式都从msi文件重新安装到安装路径下,因此才会出现进度条的现象。

3、问题的解决

最后我又试了几次,以为是再程序打包的时候设置有问题,结果都没有找到原因,没有办法只有需求网络资源,网络上有朋友说VS创建的快捷方式不是标准的,是VS制作的安装包的问题,但是可以对VS制作的安装包msi文件进行修正。

具体修正步骤如下:

(1)下载工具orca工具(msi文件编辑工具) orcaMis

(2)安装orca后,用orca打开msi安装包,在左边的Table列表中找到Shourtcut表,在右边记录中找到桌面快捷方式的记录,修改该记录的Target属性为

[TARGETDIR]应用程序名称.exe

(3)保存修改后的msi文件,重新安装后生成的快捷方式就可以查找图片和更改图标了。

原文转至:https://blog.csdn.net/yuwuzhi1989/article/details/18085231

原文地址:https://www.cnblogs.com/sexycrane/p/10428717.html

时间: 2024-08-02 04:25:26

VS打包程序制作的快捷方式指向错误的位置(指向安装包文件) 导致每次启动都要windows正在配置的相关文章

Ubuntu下删除配置错误或者失败的安装包

Ubuntu下删除配置错误或者失败的安装包(转) aptitude purge $(dpkg -l|grep ^rc|awk '{ print $2 }') 解释: dpkg -l 列出系统中所有安装的软件,如果是已经删除的软件(有残存的配置文件),那么该的软件包的状态是rc,即开头显赫为rc 然后是空格,然后是软件包的名称: |grep ^rc 的用处就是找出状态为rc的所有软件包,即以rc开头的行; |awk '{ print $2 }' awk可以将输入的字符串用指定的分隔符进行分解,缺省

【打包成exe安装包文件发布你的程序】使用QT联系人管理系统的例子

[前言]在 QT数据库使用案列[联系人]-- 使用sqlite和QStringListModel 中,我们写了这个程序,如何将它打包成安装文件发给其他小伙伴呢? 我们使用 nsis-2.46-setup.exe[点我下载] nisedit2.0.3.exe [点我下载] 这两个软件. [目标] 我们将要制作的安装包效果. [安装好运行] [源码下载] http://pan.baidu.com/s/1qWLUqWO [步骤] 我们用QtCreater开发好程序后.大概目录如下 [QT下面的动态库都

制作32位和64位整合的安装包

环境: 打包工具:IS2014 工程类型:Installscript 步骤: 1.将32位的文件和64位的文件放在两个独立的component下 2.分别设置两个component 的属性 1)32位的component 设置64 bit component为NO,,然后Platform Suite(s)为Windows 32-bit Editions(ALL) 2) 64位的component 设置64 bit component为yes,,然后Platform Suite(s) 根据自己软件

IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权

原文:IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权 上一篇: IS2009制作Oracle 静默安装包(一)感谢空白先生特许授权 本文经原作者特许授权于海洋女神发布,转载请务必注明出处与链接:原作者和海洋女神保留对该文的一切法律许可下的权益:需要发布在盈利性报刊.网站等请与原作者或海洋女神联系. 第三部分:使用IS2009向导设置1. 打开 InstallShield2009,新建一个Installscript MSI Project,建议选择此工程,因为该工程支持脚本编

基于DevExpress的Winform程序安装包的制作

在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件导致系统运行出错.本文主要介绍基于DevExpress的Winform程序安装包的制作内容,包括VS2010和VS2013/V2105的不同处理方式. 我们知道,VS2010是最后一个可以使用微软安装包制作工具的VS版本了,所以后面VS2012/2013/2015版本都需要使用第三方安装包制作工具,

Mac OS平台下应用程序安装包制作工具Packages的使用介绍

一.介绍 Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Installer Framework等.甚至很多人还选择结合WinRar+Bat来创建应用程序安装包.Mac OSX下好像可供选择的工具不多,功能强大的工具大部分都需要进行购买.DMG是Mac OS X 上的一种压缩镜像文件格式,类似于Windows上常见的ISO文件,可以作为一种打包工具.直接让用户加

Maven 打包程序如何使用可在外部修改的配置文件

这半年来接触的事情很杂,好久没更博了.这两天开始摸索 Java 开发,遇到一个挺折腾的问题,正好记录下来备查.问题是在将 XML 文件信息写入数据库时遇到的,这个 XML 文件比较特殊,标签与数据库中对应的字段名称不一样,需要维护一个单独的配置文件,我将其整理成了一个 JSON 配置文件,以便后期直接修改.正好最近在看 Java 相关的内容,就想用 Java 练一下手.功能实现倒是很快就搞定了,结果如何动态配置文件这卡了整整一天. 问题描述 如何将 maven 中的资源文件(配置文件)使用 ma

安装包制作工具 SetupFactory 详解

Setup Factory 是一个强大的安装程序制作工具.提供了安装制作向导界面,即使你对安装制作不了解,也可以生成专业性质的安装程序.可建立快捷方式,也可直接在 Windows 系统的注册表加入内容,还能在 Win.ini 和 System.ini 内加入设定值,更可以建立反安装选项等等.它内附的向导可以一步步的带领您做出漂亮又专业的安装程序. 本篇通过一个WinFrom项目制作安装包程序过程详细介绍其使用方法. 下面截图中使用的 SetupFactory版本为 V9.0.3. 0 汉化版.网

制作部署安装包:Inno Setup

前一篇尝试Office 2003 VSTO的开发.部署有提到用VS开发一个简单的VSTO程序.打包C/S程序,我首先想到的是VS里自带的Setup Project.很遗憾,VS2012及后面的版本都剔除了Setup Project,改用InstallShield Limited Edition. Setup Project配置起来N麻烦,如:配置完成了之后,一旦修改了项目的东西然后重新生成,只有移除原来定义好的快捷方式.主输出,然后重新设置才能应用修改.而ISLE,对于一些简单的打包,基本上都是