winfrom 安装包如何在代码中设置安装路径,而不需要获取[TARGETDIR]属性来获取
来源:互联网 发布:现金管理优化方案设计 编辑:程序博客网 时间:2024/05/21 07:53
在winform安装包中,路径一般情况下是用户自己通过图形界面去选择的,然后将这个路径存到注册表中,以供下次我们更新这个系统的时候用,但是有没有一种情况是安装包的路径是通过代码来控制的呢?
有的,这几天因为项目需要写一个更新包,但是这个更新包的机制是每次更新的时候其实是重新安装了一次,这样的话在更新的过程中路径就不能让用户来选了,而是要通过注册表来获取并且代码绑定,但是我发现就算我们取得了安装路径,那么代码绑定应该在哪里写呢,由于在安装类中,当安装包执行到其中的方法时,安装的路径已经确定了(由安装包来确定),所以在安装类中更改安装的路径是不行的,我也试了下,总是报错。
那么有一种方法就是在运行这个安装包(msi)的时候,我们给这个安装包路径加上一个参数,假设安装包的路径是:D:/项目安装包文件/HzbSystem.msi;我们希望这个安装包最后的安装到的目标路径是:D:/项目/HzbSystem/,那么我们可以在命令行中输入如图1所示:
图1
这样程序就运行到了指定的位置了,当然这里有个前提,你必须在安装包中的用户界面中删除"启动"里的“安装文件夹”框,最后如图2所示:
图2
这时候从安装类中获取的[TARGETDIR]就是我们的"D:/项目/HzbSystem/"这个安装路径了。
然后要在C#代码中运行上面的dos命令就很简单了,如下,定义一个方法RunCmd(),如下代码:
思路就如上面,然后运行RunMsi()方法即可,上面的RunCmd方法测试过了,但是RunMsi()没测试过,当然本质上得按照每个人的需求的不同而不同。
这个问题缠着自己三天了,终于解决了,希望给遇到相同疑问的朋友带去帮助。
- winfrom 安装包如何在代码中设置安装路径,而不需要获取[TARGETDIR]属性来获取
- installshield2010如何去掉TARGETDIR后面的反斜杠获取安装路径
- WinFrom中如何获取文件图片路径
- 教你如何获取AppStore软件安装包的路径
- 通过包名获取apk安装路径
- android 获取apk安装路径、安装包路径
- Android-如何在代码中获取attr属性的值
- Android如何在代码中获取attr属性的值
- Android,如何在代码中获取attr属性的值
- 如何在代码中获取attr属性的值
- Android,如何在代码中获取attr属性的值
- .NET中windows服务如何获取自己的安装路径
- 在Java中获取系统路径属性
- linux下的rpm包在安装时如何来指定安装路径!
- 获取应用安装路径,直接上代码!!!
- winFrom制作安装包
- Linux下获取依赖包而不安装的方法
- 如何获取应用程序的安装路径
- Proxool配置-Web应用
- iphone toolchain 3.1.2 编译安装 --(3、FAQ)
- iphone toolchain 3.1.2 编译安装 --(4、pxl文件打包)
- volatile解析
- 查看火狐的临时文件夹路径
- winfrom 安装包如何在代码中设置安装路径,而不需要获取[TARGETDIR]属性来获取
- 全排列的生成算法
- 几种HASH函数在POJ2503上的时间比较
- Google Test
- iphone toolchain 3.1.2 编译安装 --(5、PxlPkg.plist 模板)
- 人生就像爬楼梯
- fdsafdsa
- 推荐电子书下载
- Flash ActionScript3 殿堂之路 第四章ActionScript3中的函数及高级使用技巧