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

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

  1. 项目中的资源文件如何打包:
  • (1)添加资源文件及设置
    点击项目下的Resources右键打开,添加资源文件,切换不同的类型,查看不同的资源文件;
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/94bb4df1ae1f496cbd862d9f1c237823.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5qKF6YeM6Zuq5bGxR0lT,size_20,color_FFFFFF,t_70,g_se,x_16)
    点击项目下的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
  1. 管理员运行程序设置:
    由于程序需要以管理员权限运行才可以在C盘创建文件,因此需要将程序设置为管理员运行。
  • (1)一种方法是在exe程序或快捷方式上点右键在弹出的菜单上选择“以管理员身份运行”,但是在自动运行的程序里无法使用这种方法。
  • (2)第二种方法是在exe程序或快捷方式上点右键在弹出的菜单上选择“以管理员身份运行”,“属性”,出现的界面如下图:![]( https://img-blog.csdnimg.cn/cc3939c6f16b42c4b1aed1d0a7eac538.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5qKF6YeM6Zuq5bGxR0lT,size_11,color_FFFFFF,t_70,g_se,x_16)
  • (3)第三种代码设置方法:
    在程序中加入MANIFEST资源文件
    首先打开Vs工程,看在Properties下是否有app.manifest这个文件;
    在这里插入图片描述
    如没有,右击工程在菜单中选择“Properties”,出现界面如下图:
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/e4f2da553eda474da9f3a77375ff68cc.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5qKF6YeM6Zuq5bGxR0lT,size_20,color_FFFFFF,t_70,g_se,x_16)
    选中"安全",在界面中勾选"启用ClickOnce 安全设置"后,在Properties下就有自动生成app.manifest文件。
    打开app.manifest文件,找到如下代码:
 <requestedExecutionLevel level="asInvoker" uiAccess="false" />

修改为

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

然后在"安全"中再勾去"启用ClickOnce 安全设置"后,重新编译就可以了。
![在这里插入图片描述]( https://img-blog.csdnimg.cn/4247799a10424897bcd12f7c0aa82fa2.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5qKF6YeM6Zuq5bGxR0lT,size_20,color_FFFFFF,t_70,g_se,x_16)

  1. InstallShield 2012 Spring Limited Edition打包:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/bed53797d357447badbf8b25b132f427.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5qKF6YeM6Zuq5bGxR0lT,size_20,color_FFFFFF,t_70,g_se,x_16)

posted @ 2022-06-19 10:02  XYSGIS  阅读(58)  评论(0)    收藏  举报