然后,将该类库程序集添加到自定义操作中,右击“MySetup”>>“视图”>>“自定义操作”,主窗口如下图。
右击“安装”>>“添加自定义操作”,弹出如下对话框。
点击打开“应用程序文件夹”,选择ClassLibrary2,点击右侧“添加输出”。这样便实现了安装后自动运行和卸载后删除注册表的功能。
9、自定义安装。在安装过程中实现对配置文件(config.dat)的复制,并在安装过程中允许用户输入串口配置参数,实现对配置文件的修改。
右击“MySetup”>>“视图”>>“用户界面”,主窗口如下图。
右键单击“启动”>>“添加对话框”>>“文本框(A)”,点击确定。左键点击上图中的“文本框(A)”,在右侧属性窗口中设置要显示的提示符与文本框名称等信息,如下图所示,本示例中只配置和显示了三个文本框(属性名分别为COMM、COML和COMR)。
实现效果如下图所示。
然后,在右击“MySetup”>>“视图”>>“自定义操作”,如下图
单击步骤8中添加的类库,在其右侧显示的属性“CustomActionData”中写入 “/comm=[COMM] /coml=[COML] /comr=[COMR] /targetdir=\”,如此便可以自定义类库与安装程序之前的变量传递。其中targetdir传递的是程序安装目录。
最后,在步骤8中installer.cs中的OnAfterInstall函数中,增加具体的操作代码。如下。
publicconststring FILENAME = \;
[System.Runtime.InteropServices.DllImport(\, CharSet = System.Runtime.InteropServices.CharSet.Unicode)]
publicstaticexternboolWritePrivateProfileString(stringsAppName, stringsKeyName, stringsValue, stringsFileName);
protectedoverridevoidOnAfterInstall(IDictionarysavedState) {
stringcomm = \; stringcoml = \; stringcomr = \; stringcurrentDir = \;
if (!String.IsNullOrEmpty(this.Context.Parameters[\]))//LOCALIP comm = this.Context.Parameters[\].Trim();//LOCALIP if (!String.IsNullOrEmpty(this.Context.Parameters[\])) coml = this.Context.Parameters[\].Trim();
if (!String.IsNullOrEmpty(this.Context.Parameters[\])) comr = this.Context.Parameters[\].Trim();
if (!String.IsNullOrEmpty(this.Context.Parameters[\])) currentDir = this.Context.Parameters[\].Trim().ToString(); // currentDir=currentDir.TrimEnd('\\\\');
if (System.IO.File.Exists(currentDir + \)) {
System.IO.File.Copy(currentDir + \, \,true); }
WritePrivateProfileString(\, \, comm, FILENAME); WritePrivateProfileString(\, \, coml, FILENAME); WritePrivateProfileString(\, \, comr, FILENAME); base.OnAfterInstall(savedState); }
其中,config.dat需要被手动添加到右击“MySetup”>>“视图”>>“文件系统”>>“应用程序文件夹”中,才能实现上述指定位置的拷贝与修改。 10、 最后一步
右击“MySetup”>>“生成”,成啦!!!在安装项目中Debug文件夹中找到“Setup.msi”,双击就可以安装了….
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库VS2010程序打包与自定义操作(详细步骤版)(3)在线全文阅读。
相关推荐: