zoukankan      html  css  js  c++  java
  • 有关VS2008制作安装包时遇到的问题详解

    公司最近要做一个安装包,然而在做的时候遇到好多问题,这里我一一记录下来

    一、先用VS2008建一个Setup项目,添加你需要打包的文件,这里我就不具体介绍了,网上一搜都好多,这时我们一般都需要在安装前和安装后做一些处理,

    这时新建一个项目于,

    可以写一个Installer派生类

     在里面事件里面做一些处理,具体的大多数网上也有

    但是这里我有一个问题就是,我事件都写了,但是只有安装后的事件有触发,安装前的事件没有,在网上找了好多资料,也没解决我的问题,后来放弃了。

    如果有朋友知道请告诉我,给我留言,不甚感激!

    二、最重要的来了,就是安装包如何制作多语言,在不同的系统下自动进行选择语言,然而项目中只能选择语言,

    无法做到根据系统来选择,最后查了好多资料和在同事的帮助下实现了

    第一步:先把你要的语言msi都生成出来,这里我生成了三个

    然后呢我们需要生成语言别差量mst文件,

    如何生成呢?

    1、先看下你的本地有没有装Windows SDK,路径一般在C:Program FilesMicrosoft SDKsWindows,没有到https://www.microsoft.com/en-us/download/details.aspx?id=3138这里下载,安装过程参照这里https://www.hass.de/content/how-create-msi-packages-multilingual-user-interface-mui

    2、使用对比工具产生语言转换包,MsiTran.exe 这个在Microsoft SDKsWindowsv6.0ABin下,打开Visual Studio 2008 命令提示,指定到你的目录下,之后执行,当然Setup_cn.msi 和Setup_tw.msi  就是我们之前提前生成的,英文的也同理。

    MsiTran.exe -g Setup_cn.msi Setup_tw.msi tw.mst

    3.将mst 包嵌入到你最后要的msi文件中,这里需要用到WiSubStg.vbs 脚本,我们用命令行指定到含有WiSubStg.vbs 这个的目录下,你可以在c盘搜下,我的在C:Program Files (x86)Windows Kits8.1in

    path就是你安装包所在目录
    WiSubStg.vbs path/Setup_cn.msi path/en.mst 1033

    WiSubStg.vbs path/Setup_cn.msi path/tw.mst 1028
    (其中2052为中文简体的ProductLanguage,当然,Setup_cn.msi的ProductLanguage也必须为2052,1028是繁体的ProductLanguage)

    WiLangId.vbs Setup_cn.msi Package 1033,2052,1028
    (自然该Setup_cn.msi将包含1033 en-us 和 2052 zh-cn,1028 三种语言)

     

    附例:

    MsiTran.exe -g Setup_tw.msi Setup_en.msi en.mst
    MsiTran.exe -g Setup_tw.msi Setup_cn.msi cn.mst
    MsiTran.exe -g Setup_en.msi Setup_tw.msi tw.mst
    WiSubStg.vbs C:WorkTestCodeVSProjectSetupSetup sSetup_tw.msi C:WorkTestCodeVSProjectSetupSetup scn.mst 2052
    WiSubStg.vbs C:WorkTestCodeVSProjectSetupSetup sSetup_tw.msi C:WorkTestCodeVSProjectSetupSetup sen.mst 1033
    WiSubStg.vbs C:WorkTestCodeVSProjectSetupSetup sSetup_tw.msi C:WorkTestCodeVSProjectSetupSetup s w.mst 1028
    WiLangId.vbs "C:WorkTestCodeVSProjectSetupSetup sSetup_tw.msi" Package 1028,1033,2052

    这样我们就制作好了,小伙伴可以测试下!

  • 相关阅读:
    Linux常见故障及修复方法
    2019/作业
    使用net 模式上网的步骤
    2019 年 1
    处理请求数据
    REST 表现层状态转化
    @RequestMapping注解的属性,将请求约束精细化
    SpringMVC 概述
    基于XML文档的声明式事务配置
    事务@Transactional注解的属性
  • 原文地址:https://www.cnblogs.com/dxying/p/6226993.html
Copyright © 2011-2022 走看看