CSkin博客

标题: 【安装包制作工具】Install_Pack 6.0测试版 5-28更新 [打印本页]

作者: qiaoke_song    时间: 2021-4-19 09:08
标题: 【安装包制作工具】Install_Pack 6.0测试版 5-28更新
本帖最后由 qiaoke_song 于 2023-5-29 11:00 编辑

新版说明:2023-5-28
安装工具测试版。WPF编写,由于是有.NET6迁移到.NET4.7,语法的修改可能会导致一些逻辑错误。程序无需其他第三方的DLL,就原生代码,代码很简单,只使用了Linq语法,其他的线程、绑定等均没有使用,代码特别简单。


原理简单,就是通过放置各类组件、压缩文件,最后生成一个用于安装的EXE文件,颜色、字体、播放媒体...都可自定样式,支持网页透明度显示,等等。最后生成WPF的代码,自动编译为EXE文件。


简易操作流程:
将需要打包的文件统一放置到一个文件夹内,
在“安装设置页”放置一个“确定按钮”,
在“进程页”放置一个进度条,
在“编译配置”按钮中指定“文件安装目录”、“运行的exe文件”
在“安装文件配置”按钮中添加打包的文件的文件夹
点击“生成EXE文件”按钮就可完成最简单的安装程序的制作。
各类组件的逻辑关系,程序均已做了限制,基本不产生会冲突。


是测试版,“辅助配置选项”中的动画等等功能未加入,但代码程序里面都有了,有兴趣可自己修改添加。
系统功能“服务开机启动”项目去掉了,因为如选择了该项,本工具编译出来的exe会被防毒软件报告为病毒,所以去掉了,代码还在,有兴趣的可以自行修改完善。
编写不易,里面有码,扫一下支持下。


说明:
这是一个完整安装包制作软件,全部源码,无DLL的坑。
制作的安装包,生成为WPF的exe文件。制作只需选择需打包的文件夹以及启动方式(注册表开机启动、通过服务开机启动)、建立快捷方式(可选桌面、开始菜单)、一些条件限制等,拖动相应的组件即可完成一个安装exe文件的制作。组件设置逻辑较为严格,基本不会出现错误,并有比较完整的校验机制以及错误提示,每一步操作有日志记录。让用户在制作安装包时,只需关注界面设计、颜色搭配、图像、媒体安放等,自动压缩生成一个exe文件。
在设计界面中,可插入音频(Mp3、mid)、视频(Mp4)、网页(支持无窗体透明)、文字、进度、修改安装目录、复选框等等。可以制作出漂亮的安装程序,由于生成的是wpf的exe文件,支持无窗体、透明、阴影等效果。

操作事项:
1、在操作中“安装设置页”、“安装进程”必须要有,如需直接进入安装进程,只需在“安装设置页”中放置“停留时间”即可。“结束页”可以有也可以不要,根据需要自定。
2、将当前编辑可以保存为方案,保存在Solution文件夹中,不要删除此文件夹。
3、如选择了“开机服务启动”,安装完成后,将在windows的system32文件夹内生成一个“Server_StartApp.exe”的exe文件,设置为开机60秒后调用exe文件,服务调用调用带窗口的exe文件穿透session在代码Install_CreatServer.cs中查看。
4、生成安装包会生成“setup_res.resources”、“ServerTmp.~exe”临时文件,可删除,生成成功后,生成“~Setup.exe”,改名后即可使用,在“编译配置”中可为其指定图标等。
5、操作流程:添加文件夹->编译配置->放置组件->生成exe。
6、在添加完需安装文件后,可对每个文件的安装目录进行非调整,比如某个文件需安装到windows的system里面、改名等等。
7、在输入项目里,如果输入错误,将清除当前编辑框,并不做保存修改。
8、颜色设置,选择“默认”为透明,阴影设置比如可以依次为15、1、0.7数值。

这是一个完整的工具软件,可以当正式的工具使用,也可以参考代码。程序还有很大的拓展空间,比如3D、旋转、淡入淡出、反安装等等,将在下个版本中给出,如果这个网站没啥大问题的话,将发布在http://cpf.cskin.net/Market/

软件未经充分测试,如有问题及时告知,以便修改。
程序详细设计及逻辑、使用详细说明,经充分测试后再提供。
效果截图:



新的估计下2023.5月搞好了

工具源码(回复可见):




01png.png (855.08 KB, 下载次数: 124)

【安装包制作工具】Install_Pack 6.0测试版

【安装包制作工具】Install_Pack 6.0测试版

02.png (563.58 KB, 下载次数: 122)

【安装包制作工具】Install_Pack 6.0测试版

【安装包制作工具】Install_Pack 6.0测试版

作者: mqzzzz    时间: 2021-4-19 19:49
牛B class
作者: jhyjhy213    时间: 2021-4-20 08:52
学习了,谢谢
作者: jhyjhy213    时间: 2021-4-20 08:52
学习了,谢谢
作者: jhyjhy213    时间: 2021-4-20 08:53
学习了,谢谢
作者: 山水美    时间: 2021-4-20 15:36
这么好的工具,支持一下!谢谢!
作者: yhl5285627    时间: 2021-4-20 20:47
发发发发发发
作者: 王者VIP    时间: 2021-4-21 10:02
这么好的工具,支持一下!谢谢!
作者: fixiang    时间: 2021-4-21 21:51
谢谢楼主分享,学习下
作者: JaBin    时间: 2021-4-22 09:44
看看,学习一下
作者: JaBin    时间: 2021-4-22 09:45
看看,学习了
作者: vrayshow    时间: 2021-4-23 01:43
啪乔啪乔啪乔啪乔啪乔
作者: QW去    时间: 2021-4-23 09:22
看看东西好用不,感谢楼主分享
作者: strive    时间: 2021-4-23 14:09
谢谢楼主分享这么好的工具,支持一下!谢谢
作者: strive    时间: 2021-4-23 14:11
谢谢楼主分享这么好的工具,支持一下!谢谢
作者: 邱轩哲    时间: 2021-4-23 19:29
支持  学习了谢谢
作者: 果哥    时间: 2021-4-24 14:53
牛X 好                                    
作者: woshiops    时间: 2021-4-25 09:47
学习了,谢谢
作者: Madhn.zhan    时间: 2021-4-26 14:00
学习参考下
作者: Eric_    时间: 2021-4-27 10:33
牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛
作者: 纯洁边缘人    时间: 2021-4-27 17:08
牛B class

作者: 叶落轻风雨    时间: 2021-4-27 17:41
学习学习   
作者: feelsyt    时间: 2021-4-27 18:10
牛逼这个实用不错不错支持
作者: 晓寒生    时间: 2021-4-29 14:23
谢谢楼主分享,学习下
作者: lau    时间: 2021-4-29 14:28
66666666666666
作者: fuzhousea    时间: 2021-5-4 08:23
学习了,谢谢
作者: liuzhaolei107    时间: 2021-5-8 13:20
看起来很是不错,学习一下
作者: sa110011sa    时间: 2021-5-8 13:53
6666  牛逼牛逼
作者: chijiaojj    时间: 2021-5-8 16:19
学习了,谢谢!
作者: SWorld    时间: 2021-5-9 11:39
大佬,厉害
作者: XTH    时间: 2021-6-7 13:15
感谢  太高级了
作者: netnutch    时间: 2021-6-7 15:38
看一看,谢谢
作者: huamin    时间: 2021-6-7 16:21
retertertertert
作者: bloss    时间: 2021-6-7 17:53
大神,谢谢分享
作者: neptune88    时间: 2021-6-11 18:30
下载试用下!
作者: wings921    时间: 2021-6-15 20:20
up,up,up,学习一下
作者: 214679    时间: 2021-6-16 11:50
學習一下,謝謝!!
作者: c小白    时间: 2021-6-22 16:09
学习下,看看大佬的做法
作者: 众城小伙    时间: 2021-6-23 09:11
支持厉害
作者: 众城小伙    时间: 2021-6-23 09:17
麻烦问一下 源码运行报错  有什么环境要求吗 我是VS2015
作者: qiaoke_song    时间: 2021-6-23 12:15
众城小伙 发表于 2021-6-23 09:17
麻烦问一下 源码运行报错  有什么环境要求吗 我是VS2015

一些语法C#7.0的语法糖,可以改一下
比如 bool t=data<10?true:false;
改为
if (data<10) t=true;
else t=false;
等等。
VS2019挺好的啊
作者: ysuwhai    时间: 2021-6-23 14:23
学习了,谢谢
作者: iNIC    时间: 2021-7-6 09:19
谢谢楼主分享这么好的工具,支持一下!谢谢.
作者: 移通小白白    时间: 2021-7-6 14:30
我操  这啥啥,牛   plus
作者: Lazy_Stone    时间: 2021-7-21 16:37
学习了,谢谢
作者: TangLangyu    时间: 2021-7-28 16:13
哇!学习了,谢谢
作者: 1989liu1103    时间: 2021-7-28 17:16
谢谢楼主分享
作者: raychen    时间: 2021-7-28 18:05
试试看呢~
作者: wxdtk    时间: 2021-8-9 10:58
谢谢楼主分享,学习下
作者: wss    时间: 2021-8-10 10:16
牛B class
作者: lusunping    时间: 2021-8-11 19:32
工具】Install_Pack 3.0正式版(WPF全代码) [修改
作者: ririkaka    时间: 2021-8-13 09:49
学习了,谢谢
作者: 维以不永伤    时间: 2021-9-1 02:16
牛B哈......................
作者: datax    时间: 2021-9-23 20:49
nice tool 666
作者: 大壮他哥。    时间: 2021-9-28 18:31
牛逼class

作者: chensenwells    时间: 2021-9-30 17:35
厉害,过来学习下
作者: bbspcs    时间: 2021-10-9 11:00
学习了,谢谢
作者: hai    时间: 2021-10-21 16:34
学习学习,nb
作者: yy1ww2tt30    时间: 2021-10-29 18:25
666666666666666666666666666
作者: 飞雪唉    时间: 2021-11-1 09:14
感谢大佬分享
作者: 1213whb    时间: 2021-12-8 15:47
nice 学习了nice 学习了
作者: zsyf    时间: 2021-12-8 16:18
nbnbnbnbnbnnbnbnbnb
作者: snskip    时间: 2021-12-17 14:21
安装包制作工具用了很多个。看看这个怎么样
作者: askinson    时间: 2021-12-20 16:36
谢谢分享,学习了
作者: 梦醒泪已不止    时间: 2021-12-23 09:56
2266666666楼楼主分享,学习下
作者: 王柄棋    时间: 2021-12-27 18:21
必须支持这样高质量的文章
作者: bamuyi    时间: 2021-12-27 23:55
这么漂亮的,还不上等到什么时候?
作者: 如梦令初醒    时间: 2022-1-5 21:06
厉害啊!!
作者: wtang0429    时间: 2022-1-13 13:41
谢谢楼主分享,学习了,支持一下。
作者: kelan    时间: 2022-1-20 15:45
学习了,谢谢
作者: qq744980696    时间: 2022-1-23 00:25
很好    1
作者: xu008    时间: 2022-1-24 03:15
学习了,谢谢
作者: fhsd123    时间: 2022-2-11 09:03
看看,学习一下
作者: xiazhangch    时间: 2022-2-15 10:54
顶顶顶,正好能用上
作者: __printf    时间: 2022-2-18 13:33
这么好的工具,支持一下!谢谢!
作者: king1037    时间: 2022-3-5 23:33
感谢分享
作者: dragon_red    时间: 2022-3-10 11:42
大佬牛逼
作者: HHH666    时间: 2022-4-11 10:47
不错不错不错不错不错不错不错不错不错不错不错不错不错不错
作者: zrman    时间: 2022-4-11 15:09
JaBin 发表于 2021-4-22 09:44
看看,学习一下

学习学习
作者: zrman    时间: 2022-4-11 15:10
学习学习,新东西
作者: newBlash    时间: 2022-4-14 11:41
牛逼,学习一下
作者: 221    时间: 2022-4-20 17:39
牛B class

作者: 张小栋    时间: 2022-5-3 16:39
学习一下,谢谢
作者: 终古    时间: 2022-5-17 06:01
伟大的撒大苏打实打实
作者: yechang    时间: 2022-5-23 13:17
学习学习学习学习学习学习学习学习学习学习学习学习
作者: 15279548965    时间: 2022-5-24 08:56
学习了,谢谢
作者: zzf1269    时间: 2022-5-25 15:40
强强强,学习一下
作者: 王闯    时间: 2022-5-25 16:55
好花须是少年看,不错
作者: sd6667511    时间: 2022-5-29 22:22
感谢分享
作者: zzp527066390    时间: 2022-5-31 19:18
学习了,谢谢
作者: ip2000ip    时间: 2022-6-7 16:58
学习看看
作者: abweixx    时间: 2022-6-28 14:20
可以学习一下
作者: wang_hb    时间: 2022-7-7 16:00
学习了,谢谢
作者: xyzliuin    时间: 2022-7-25 13:23
谢谢分享,
作者: lzy666    时间: 2022-7-29 16:11
66666学习学习
作者: LDM    时间: 2022-8-16 18:47
感谢楼主分享,学习一下
作者: LDM    时间: 2022-8-16 19:33
请问下 选择框怎么弄出来呢
作者: qiaoke_song    时间: 2022-8-16 19:42
本帖最后由 qiaoke_song 于 2022-8-16 19:44 编辑
LDM 发表于 2022-8-16 19:33
请问下 选择框怎么弄出来呢

在安装程序里,选择框checkbox的目的只是取得“同意”或“不同意”,将代码文本字符串加入就可以了,见Generated_Style.cs文件
[C#] 纯文本查看 复制代码
 public Style Set_CheckBoxStyle(string sKey, string text, string backcolor, string select_color, double height, double fontsize, string fontcolor,int num)
    {
        string style = @""
    <ResourceDictionary xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'>
        <Style x:Key='"" + sKey + @""' TargetType='{x:Type CheckBox}'>
            <Setter Property='SnapsToDevicePixels' Value='true' />
            <Setter Property='FocusVisualStyle' Value='{DynamicResource CheckBoxFocusVisual}' />
            <Setter Property='Height' Value='"" + height + @""'/>
            <Setter Property='IsChecked' Value='False'/>
            <Setter Property='Margin' Value='0'/>
            <Setter Property='Template'>
                <Setter.Value>
                    <ControlTemplate TargetType='CheckBox'>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width='Auto'/>
                                <ColumnDefinition Width='*'/>
                            </Grid.ColumnDefinitions>
                            <Grid Height='{TemplateBinding Height}' Width='{TemplateBinding Height}'>
                                <Rectangle x:Name='CheckBoxRectangle' Fill='""+ backcolor + @""' Opacity='0.3'/>
                                <Rectangle x:Name='CheckBoxRectangleOut' Stroke='"" + backcolor+@""' StrokeThickness='1' />
                                <Grid x:Name='CheckedMark' Width='"" + height + @""' Height='"" + height + @""' Visibility='Collapsed'>
                                    <TextBlock Text='✓' FontSize='"" + (height - 3) + @""' Foreground='"" + select_color + @""' VerticalAlignment='Center' HorizontalAlignment='Center' />
                                </Grid>
                            </Grid>
                            <TextBlock Grid.Column='1' Text='"" + text + @""' FontSize='"" + fontsize + @""' Foreground='"" + fontcolor + @""' VerticalAlignment='Center' Margin='14,0,0,0'/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property='IsChecked' Value='True'>
                                <Setter TargetName='CheckedMark' Property='Visibility' Value='Visible'></Setter>
                                <Setter TargetName='CheckBoxRectangle' Property='Fill' Value='""+backcolor+@""'></Setter>
                                <Setter TargetName='CheckBoxRectangle' Property='Opacity' Value='1'></Setter>
                                <Setter TargetName='CheckBoxRectangleOut' Property='Stroke' Value='Transparent'></Setter>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ResourceDictionary>"";

        StringReader strreader = new StringReader(style);
        XmlTextReader xmlreader = new XmlTextReader(strreader);
        object obj = XamlReader.Load(xmlreader);
        ResourceDictionary controlStyle = (ResourceDictionary)obj;
        Resources.MergedDictionaries.Add(controlStyle);
        var custom = Resources.MergedDictionaries[Get_ResourceCount()];
        return custom[sKey] as Style;
    }

作者: qjfall766    时间: 2022-8-17 15:41
看看,学习一下
作者: feiyuan    时间: 2022-8-23 11:45
学习学习




欢迎光临 CSkin博客 (http://bbs.cskin.net/) Powered by Discuz! X3.2