vs2010项目利用InstallShield 2012 Spring Limited Edition打包常见问题

vs2010项目利用InstallShield 2012 Spring Limited Edition打包常见问题

  1. 项目中的资源文件如何打包:
  • (1)添加资源文件及设置
    点击项目下的Resources右键打开,添加资源文件,切换不同的类型,查看不同的资源文件;
    在这里插入图片描述
    点击项目下的Resources右键属性,复制到输出目录选择始终复制 ,生成操作选择嵌入的资源;
    在这里插入图片描述
  • (2)资源文件获取
    根据不同类型的资源文件获取稍微不同,图片类直接获取Bitmap保存即可( Properties.Resources.XXX),其他格式的文件获取流然后创建文件(MemoryStream ms = new MemoryStream(global::MB.Properties.Resources.XXX)😉。
 #region 获取资源中的模板
        /// <summary>
        /// 获取资源中的模板
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string getResourcesFile(string filename, string hz)
        {
            string savefile = "";
            try
            {
                MemoryStream ms = null;
                switch (filename)
                {
                    case "审核调查表":
                        ms = new MemoryStream(global::MB.Properties.Resources.审核调查表);
                        if (File.Exists("c:/" + filename + hz))
                        {
                            File.Delete("c:/" + filename + hz);
                        }
                        System.IO.FileStream fs2 = new System.IO.FileStream("c:/" + filename + hz, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                        ms.WriteTo(fs2);
                        ms.Close();
                        fs2.Close();
                        break;
                    case "kbsh":
                        Properties.Resources.kbsh.Save("c:\\kbsh.png", System.Drawing.Imaging.ImageFormat.Png);
                        break;
                }
                savefile = "c:/" + filename + hz;
            }
            catch
            {
                return savefile;
            }
            return savefile;
        }
        #endregion
  • (3)引用的dll:
    打开引用选中所有的dll,右键属性,复制到本地选择为True;嵌入互操作类型选择False。重新编译之后再打包。
    在这里插入图片描述
  1. 管理员运行程序设置:
    由于程序需要以管理员权限运行才可以在C盘创建文件,因此需要将程序设置为管理员运行。
  • (1)一种方法是在exe程序或快捷方式上点右键在弹出的菜单上选择“以管理员身份运行”,但是在自动运行的程序里无法使用这种方法。
  • (2)第二种方法是在exe程序或快捷方式上点右键在弹出的菜单上选择“以管理员身份运行”,“属性”,出现的界面如下图:
  • (3)第三种代码设置方法:
    在程序中加入MANIFEST资源文件
    首先打开Vs工程,看在Properties下是否有app.manifest这个文件;
    在这里插入图片描述
    如没有,右击工程在菜单中选择“Properties”,出现界面如下图:
    在这里插入图片描述
    选中"安全",在界面中勾选"启用ClickOnce 安全设置"后,在Properties下就有自动生成app.manifest文件。
    打开app.manifest文件,找到如下代码:
 <requestedExecutionLevel level="asInvoker" uiAccess="false" />

修改为

 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

然后在"安全"中再勾去"启用ClickOnce 安全设置"后,重新编译就可以了。
在这里插入图片描述

  1. InstallShield 2012 Spring Limited Edition打包:
  • (1)创建打包项目:在项目的解决方案右键添加-新建项目-其他项目类型-安装和部署-InstallShield LE,输入名称选择位置即可。
    在这里插入图片描述
    在这里插入图片描述
  • (2)点击Application Information 输入相应的信息,打开Oragnize Your Setup 下的General Information界面,设置语言为中文简体及相应的信息。
    在这里插入图片描述
    在这里插入图片描述
  • (3)点击Installation Requirement ,点击Requirements 在弹出的界面中选择.net版本及相关的环境。
    在这里插入图片描述
    在这里插入图片描述
  • (4)点击Application Files ,添加或删除或重命名程序Debug下的文件及文件夹。

    在这里插入图片描述
  • (5)点击Application Shortcuts ,添加或删除或重命名程程序的图标、名称、卸载程序。

在这里插入图片描述

  • (6)点击Prepare for Release下的Releases,在弹出的界面选择SingleImage-Setup.exe-InstallShield Prerequisites Location 的Extract Form Setuo.exe。
    在这里插入图片描述
  • (7)点击项目的解决方案右键属性-配置属性-打包项目名称-配置选择Singleimage。
    在这里插入图片描述
  • (8)最重要的一点:每次修改重新编译时一定要清理打包项目减少不打包成功的。
    在这里插入图片描述
posted @ 2022-06-19 10:02  XYSGIS  阅读(47)  评论(0)    收藏  举报