摘要: 很多朋友經常來問:為什么我用CopyFile/XCopyFile函數拷貝文件無效? 引起這種情況的原因有很多,今天略微總結了一下,歡迎各位朋友跟帖補充不完善的地方
閱讀全文
摘要: Installshield獲取安裝包版本的系統變量為IFX_PRODUCT_VERSION 當筆記記下來,很簡單的一個變量,不過IS里查系統變量是讓人頭大,知道就是知道,不知道查起來查死人
閱讀全文
摘要: 32/64位問題要把握幾點:1. 明確你的產品是否需要區分32/64位2. 明確你的產品中是否有32/64位的服務注冊3. 了解InstallShield Build出來的安裝包本身是32位應用程序4. 了解Windows 64位系統上的32位路徑和64位路徑差異以及如何在InstallShield的系統變量中找到對應的內容
閱讀全文
摘要: 64位操作系統下拷貝文件重定向問題,在在復制代碼前加上Disable(WOW64FSREDIRECTION);就可以解決64位系統默認復制到syswow64的問題但是注意:Disable(WOW64FSREDIRECTION); CopyFile( SUPPORTDIR^"MUCam32.dll", WINSYSDIR^"MUCam32.dll"); 是沒有用的,WINSYSDIR64 才可以,WINSYSDIR 依然是32位路徑。64位機器上的system32雖然寫的是32,但。。。
閱讀全文
摘要: 很多年前的一個秋天的下午,我在上一堂編程課,老師先讓我們把編程工具裝上。因為很多電腦比較破舊 ,安裝紛紛出了問題,老師看看也來不及講課了,索性一邊幫我們裝軟件,一邊講起了安裝的一些知識。 老師問:你們知道安裝的本質是什么嗎?
閱讀全文
摘要: 首先建立一個Installscript Project在Installation Designer中,找到Behavior and Logic -> Install Script, 在Setup.rul中找到Before Move Data -> OnFirstUIBefore,找到Dlg_SdRegisterUser標簽中一: 用nResult = SdCustomerInformationEx(szTitle,szName,szCompany,svSerial,bvAllUser);這行去代替nResult = SdRegisterUser( szTitle, szMsg, s
閱讀全文
摘要: 這個問題新手問的很多,installshield的安裝包默認設置下選擇路徑的界面藏在Custom安裝類型下。在做完安裝包后,點擊執行,正常選擇“下一步”“下一步”,來到Setup Type界面選擇Custom類型,點擊Next,就會出現選擇路徑的界面了。
閱讀全文
摘要: 是一些平時搜集的小知識點,都是網友解決某個小問題時候的一些小代碼之類的,搜集起來,以備不時之需installshield 64位操作系統重定向installshield 64位操作注冊表設置installshield 安裝字體installshield 操作64位進程installshield 寫pathinstallshield,disable一個控件Installshield操作注冊表UACinstallshield創建文件夾快捷方式installshield發送消息停止強制重啟動installshield關於再次分發的安裝包installshield管理員身份注冊表installshie
閱讀全文
摘要: 很多朋友做安裝包的時候,所打包的軟件需要.NET Framework之類的環境,他們會檢測系統是否已經安裝了.NET,如果沒有,則調用.NET安裝包來安裝。但是.NET安裝完是需要重啟動的,一般來說,我們都推薦使用/q/norestart的靜默安裝函數來使重啟動推遲到安裝結束時,使用如下:LaunchAppAndWait(SUPPORTDIR^"dotNetFx40_Full_x86_x64.exe","/q /norestart",WAIT);.NET在重啟后才能生效,但是如果在安裝完.NET之后的安裝行為中立刻需要使用.NET特性,那么必須讓先電腦重
閱讀全文
摘要: 從做第一個打包程序到現在,陸陸續續也做了幾十個安裝包了,也幫助了不少朋友解決他們在制作安裝包過程中的問題,也得到了不少朋友們在安裝包方面的指導。人之患在好為人師,我也不例外,看得多了也想說兩句關於打包方面的自己的想法,放大了說,也可以做到編程的一些參考。歡迎拍磚歡迎跟帖歡迎補充。1.如何入門?Installshield挺難的,資料少,沒有中文版,而且做安裝包的同仁也少。很多新手進入Q群,第一句話就是:各位大大,我要打包一個安裝程序,要自動安裝MySQL,初始化數據庫,寫配置文件,安裝完畢還要自動啟動一個服務等等,但是我對installshield一竅不通,有人能指點一下么?對這種同學,我一般都
閱讀全文
摘要: IS腳本操作注冊表在64位平台下必須有特殊的設置if (SYSINFO.bIsWow64) then //如果為64位操作系統 REGDB_OPTIONS = REGDB_OPTION_WOW64_64KEY ; //則為注冊表操作進行64位特殊設置 endif;/**底下照常操作注冊表即可*/
閱讀全文
摘要: IS里調用外部文件的時候,一般都是用LaunchAppAndWait函數,比如if(LaunchAppAndWait (SRCDISK^"jdk\\jdk-6u4-windows-i586-p.exe","", LAAW_OPTION_WAIT)<0)then MessageBox ("You haven't installed JDK 1.6.0_04 yet! ", INFORMATIO...
閱讀全文
摘要: 有時候卸載installshield制作的安裝包程序,卸載完會提示是否重啟電腦以完成所有卸載,產生這個提示的常見原因有如下幾種:1. 卸載時,程序正處於運行狀態2. 卸載時,程序文件夾處於打開狀態3. 卸載時,有文件被別的進程調用,或者在進程中,常見情況如dll在進程中一般來說解決辦法是針對第三種情況的,解決辦法是卸載時強制殺進程,比如在OnMaintUIBefore或者OnUninstall里寫上強制殺進程的代碼。對於第一種情況和第二種情況,如果是可交互的普通GUI程序,一般不予理會,因為這些行為是不能禁止的合理行為。IS操作系統進程的可以參閱我博客里另外兩篇文章http://www.cnb
閱讀全文
摘要: 本文經原作者ㄣ齊¨彡仯乄特許授權於海洋女神發布,轉載請務必注明出處與鏈接;原作者ㄣ齊¨彡仯乄和海洋女神保留對該文的一切法律許可下的權益;需要發布在盈利性報刊、網站等請與原作者ㄣ齊¨彡仯乄或海洋女神聯系. 簡述 本文主要描述安裝程序更新包的創建 制作更新包的主要屬性 在給出升級包類型之前,首先說明幾個概念: 1、Package code:從字面上理解就是包的代...
閱讀全文
摘要: 在OnEnd里添加代碼,兩種解決方案群友kevin的解決方案#include "ifx.h" //Call to Windows used in the "OnEnd" function to refresh the desktop prototype Shell32.SHChangeNotify(LONG, LONG, POINTER, POINTER);// -- Add the follow...
閱讀全文
摘要: 關於刪除InstallShield文本,廠家給出不刪除的四個理由:The InstallShield text may not be removed from the startup message or from the InstallShield Wizard dialogs for the following reasons:1.Millions of users worldwide rec...
閱讀全文
摘要: 原帖地址:http://blog.csdn.net/emma_he/archive/2010/05/24/5620723.aspx命令行模式編譯生成安裝包,可以省去打開installshield IDE的麻煩(打開很慢啊~),尤其是在工程量多,修改文件少的,升級的情況。1.在IS12的help文檔中,有明確的講述,如何使用命令行的方式來編譯工程Using ISCmdBld.exe to Build...
閱讀全文
摘要: 未經許可,禁止轉載!作者保留一切法律許可下的權益。從今天開始,海洋女神的博客里請到了一位精通Installshield的嘉賓Kevin,他將陸續為大家講解Installshield方面的知識。熟悉InstallShield用戶清楚有Basic MSI,InstallScript和InstallScript MSI三種工程類型可選擇,如果你初次使用InstallShield,你可能面臨一個問題,哪一...
閱讀全文
摘要: To have the check box initially checked, use the Property Manager view of theInstallShield environment to set the property (CHECKBOXPROP) to the same valueyou defined in the check box control’s ...
閱讀全文
摘要: 感謝2群群友山城浪子提供此函數此函數的作用在於截掉字符串頭尾的空格,類似於java中的trimfunction string myTrim(srcStr) //頭尾都截字符串 NUMBER i; string sRltStr1,sRltStr2,sTmpStr;begin //截取頭部空字符 sRltStr1=""; i=0; while (i<=StrLength(srcStr)-...
閱讀全文
摘要: 傳送門:http://www.cnblogs.com/Cindy_weiwei/archive/2009/05/19/1460238.html第十小節“完美卸載”是有bug的,當用戶使用完美卸載創建的卸載快捷方式進行卸載時,往往會發現開始菜單中會殘留一個空文件夾,這是由於操作系統的賬戶引起的,你可以試着去手動刪除一下這個空文件夾,操作系統會彈出一個警告“刪除該文...
閱讀全文
摘要: 喜歡打包和需要打包的朋友很多,所以一群(IS中文論壇官方QQ群)19622645早就爆滿了,現在開設新群1367833,請新來的朋友加入二群,不要去一群了,謝謝
閱讀全文
摘要: 使安裝程序不管本機是否安裝了程序,都進入“安裝”狀態,而永遠不出現“修復、卸載”等界面第一種做法見http://blog.csdn.net/sding/archive/2009/05/02/4143097.aspx,原帖是傳說中的大俠“吞硬幣的小豬”寫的,做法是在 General Information -> Proje...
閱讀全文
摘要: 原帖地址:http://kb.flexerasoftware.com/selfservice/viewContent.do?externalID=Q106687環境:AdminStudio 7.x, AdminStudio 8.x, InstallShield 11.5 Premier, InstallShield 11 Premier, InstallShield 12 Premier, Ins...
閱讀全文
摘要: 原貼地址:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1048756我們公司的軟件就是連同SQLSERVER一起打包,與微軟有協議的我自己寫了一個程序,來控制SQLserver7的安裝,試了有一年了,基本都可以裝上,沒有大問題其實就是參考聯機幫助的安裝說明來做的以下附典型的無人值守安裝腳本,安裝時,通過參數告訴sql的安裝程序使用這個腳本,並且...
閱讀全文
摘要: 自己收藏的一些資料,都忘了是從哪里下載來的了,放在博客上共享之。是全英文版的。/Files/Cindy_weiwei/wp_is_MSIActionTypes-定制行為.pdf
閱讀全文
摘要: 自己收藏的一些資料,都忘了是從哪里下載來的了,放在博客上共享之。是全英文版的。/Files/Cindy_weiwei/wp_is_CustomActions-序列和標准動作.pdf
閱讀全文
摘要: 自己收藏的一些資料,都忘了是從哪里下載來的了,放在博客上共享之。是全英文版/Files/Cindy_weiwei/wp_is_MSIDesign-MSI打包白皮書.pdf
閱讀全文
摘要: 自己收藏的一些資料,都忘了是從哪里下載來的了,放在博客上共享之。是全英文版的。/Files/Cindy_weiwei/wp_is_BuildingMSIUpdatesPatches-MSI更新和補丁包的制作.pdf
閱讀全文
摘要: 自己收藏的一些資料,都忘了是從哪里下載來的了,放在博客上共享之。是全英文版的。/Files/Cindy_weiwei/IS_WP_Patching_Sept08-制作友好的更新.pdf
閱讀全文
摘要: 實現方法:在project assistant里或者install design里隨便建一個快捷方式,然后去install design里修改剛剛添加的快捷方式的屬性,主要修改Target和Arguments兩項。將Target 的內容改為[ProgramFilesFolder]Internet Explorer\IEXPLORE.EXE,即將快捷方式指向IE,然后將Arguments修改為網址,...
閱讀全文
摘要: setup.rul的代碼[代碼]ShutDownRunningApp.rul的代碼[代碼]
閱讀全文
摘要: 以Installscript msi project為例,在installshield所制作的安裝包安裝過程中顯示安裝進度的,就在OnFirstUIBefore中的Dlg_SdStartCopy界面中 Enable(STATUSEX); 這句話。要顯示自己設置的信息,只需在這句Enable(STATUSEX); 后添加數句語句即可,舉例如下: Enable(STATUSEX); /**當Statu...
閱讀全文
摘要: 原帖地址:http://blog.csdn.net/fishout/archive/2009/11/09/4790564.aspx 在這一節里,我們討論如何在安裝目錄的任意指定基礎上實現實例名及sa密碼的更改,這樣,就繼承了原有微軟80多兆安裝包的功能,但是,現有的安裝包體積小多了,僅有原來的1/6,當然,這僅是全新安裝而言,對於升級安裝是不適應的,不過,實際上我們大多數時候都是使用全新安裝,何...
閱讀全文
摘要: 原帖地址:http://blog.csdn.net/fishout/archive/2009/10/28/4739269.aspx在這一節里,我們解決安裝路徑的更改問題。大家知道,MSDE2000安裝后,數據庫路徑不能更改,這也是制約許多安裝包無法與應用程序一並集成的首要原因,現在我們來解決這一個問題。 主要思路是通過分離msdb和model數據庫,然后更改master數據庫的系統目錄指向,改為...
閱讀全文
摘要: 原帖地址:http://blog.csdn.net/fishout/archive/2009/10/26/4730086.aspx在網上看到許多關於MSDE2000集成到應用程序中一並安裝的文章,這些方法無一例外都使用了InstallShield中調用外部命令的方式,其本質就是在安裝過程中調用LaunchAppAndWait函數執行MSDE2000的setup.exe程序,這樣一來,帶來幾個問題:...
閱讀全文
摘要: 出處:http://www.installsite.org/pages/en/isp_ext.htm這個地址上有不少好東西,有空要好好研究下里面的“List and Shut Down Running Applications”就是演示了Installshield如何停止操作系統進程[代碼]
閱讀全文
摘要: 上一篇: 解決卸載時殘留目標文件夾的問題Installation Designer --> Organization -->Features中,選中要設置的feature,在右邊的屬性欄中,將Required選為Yes即可,安裝時可以看到該feature為選中狀態,且勾選框為灰色不可更改狀態,即此feature不允許用戶選擇,一定會安裝到目標機上 下一篇: Installshield靜...
閱讀全文
摘要: 上一篇: IS2009制作Oracle 靜默安裝包(二) 感謝空白先生特許授權 在 uninstalled函數最后加DeleteProgramFolder ( TARGETDIR ) 下一篇: Installshield設置feature為必須選中狀態,即必定安裝狀態
閱讀全文
摘要: 上一篇: MyEclipse中消除frame引起的“the file XXX can not be found.Please check the location and try again.”的錯誤 本文經原作者特許授權於海洋女神發布,轉載請務必注明出處與鏈接;原作者和海洋女神保留對該文的一切法律許可下的權益;需要發布在盈利性報刊、網站等請與原作者或海洋女神聯系。序言 這...
閱讀全文
摘要: 上一篇:如何設置Installshield中 feature的選中狀態 在用到FOLDER_STARTUP或者類似的變量前加一句ALLUSERS=0;然后FOLDER_STARTUP就是指向當前用戶了。ALLUSERS是環境變量,不需要你定義。IS版本低時可能不行。 下一篇: MyEclipse中消除frame引起的“the file XXX can not be found.Plea...
閱讀全文
摘要: 上一篇: 使用strtuts2的iterator標簽循環輸出二維數組 之前一直有筒子問如何設置Installshield中 feature的選中狀態,因為在Install Design里是沒有這個選項的。今天打開Help搜索了一下,函數如下:FeatureSelectItem ( szFeatureSource, szFeature, bSelect ); szFeatureSource Spec...
閱讀全文
摘要: 上一篇:sqlserver顯示數據庫和表及列名 DialogSetInfo(DLG_INFO_ALTIMAGE,SUPPORTDIR^"logo.BMP",TRUE); logo.BMP要預先Import到Support File下下一篇: 使用strtuts2的iterator標簽循環輸出二維數組
閱讀全文
摘要: 上一篇:SQL Server 2005鏡像刪除備忘錄 Q:如何建立網頁的快捷方式 A:隨便建一個快捷方式:修改剛剛添加的快捷方式的屬性,主要修改Target和Arguments兩項。將Target 的內容改為[ProgramFilesFolder]Internet Explorer\IEXPLORE.EXE,即將快捷方式指向IE,然后將Arguments修改為網址,不過在instal lscrip...
閱讀全文
摘要: 上一篇:一個完整的安裝程序實例—艾澤拉斯之海洋女神出品(五) --補遺 轉載時請務必保留轉載出處和由艾澤拉斯之海洋女神出品的字樣;如需刊登,請與作者聯系。little_fairycat@126.com. Q: 如何替換setup.exe的圖標? A: 這不是一個推薦的操作,因為可能會引起不可預見的錯誤,而且IS沒有開放這個接口。如果你堅持要這么做,可以使用第三方軟件比如ExeScope...
閱讀全文
摘要: 上一篇:一個完整的安裝程序實例—艾澤拉斯之海洋女神出品(四) --高級設置二 轉載時請務必保留轉載出處和由艾澤拉斯之海洋女神出品的字樣;如需刊登,請與作者聯系。little_fairycat@126.com. 第三部分:其他 1. 修改顯示界面的風格 Installshield 原始安裝界面我始終覺得很丑,幸好Installscript 是可以不用寫代碼就可以改界面風格的。 在 Installation Designer 的左邊導航樹上找到User Interface | Dialogs 在中間的導航樹上找到 Dialogs | Skins Skins 選項下面顯示了不同的界面風格,默認是No
閱讀全文
摘要: 上一篇:一個完整的安裝程序實例—艾澤拉斯之海洋女神出品(三) --高級設置一 4. 根據用戶選擇的組件,從外部文件夾拷貝相應的文件到安裝目標路徑的文件夾中這個用途常見於配置文件和授權文件的應用,同一程序,授權給不同的用戶,只需要不同的配置和授權文件。如果將配置和授權文件每次都打包在安裝程序里,那么變更一個用戶就需要重新打包一次,這是一個浪費時間和精力的行為。如果將授權和配置文件(當然內容是加密過的)放在外部文件夾中,每次安裝的時候從這個文件夾中讀取拷貝,那么會是一個比較通用型的安裝程序。 另外,本程序的好幾個feature用到了相同的庫,如果直接在feature下加庫文件也可以,但是每一個fe
閱讀全文
摘要: 上一篇:一個完整的安裝程序實例—艾澤拉斯之海洋女神出品(二) --基本設置二 第二部分:腳本編程在開始進行編程前,我們先明確一下我們要用編程來彌補前面設置的哪些功能的不足 1. 顯示軟件許可協議 2. 判斷是否安裝了本軟件所需要的先決軟件JKD1.6.0_04,如無,則啟動外部安裝程序進行安裝(同樣原理可以用來判斷是否安裝了其他軟件,只要該軟件在注冊表中有鍵值) 3. 用戶的輸入信息、所選安裝路徑、所選安裝組件將顯示在安裝界面上(Installshield雖然自帶了此界面,但是默認是顯示為空的,需要寫腳本來顯示信息) 4. 根據用戶選擇的組件,從外部文件夾拷貝相應的文件到安裝目標路徑的文件夾中
閱讀全文
摘要: 上一篇:一個完整的安裝程序實例—艾澤拉斯之海洋女神出品(一)---基本設置一 7. 點擊引導條上的Application Files 我們將在這里對安裝路徑進行微調,並且為每個Feature指定需要安裝的文件 這里我不想使用Program Files | Company Name | Product Name這個路徑,我想使用Program Files | Product Name,我直接點擊選中My Product Name[INSTALLDIR]拖動到ProgramFileFolder下,還可以直接將My Product Name 改成自己想要的文件夾名字 接下來,為每個Feature..
閱讀全文
摘要: 前言Installshield可以說是最好的做安裝程序的商業軟件之一,不過因為功能的太過於強大,以至於上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant對付過去的,這次做這個安裝程序,為了實現一些功能,必須寫代碼,國內外現成的資料很少,而且很多都語焉不詳,自己反復啃了多次,對比Installshiel自帶的help,才明白資料所表達的意思。這個安裝程序雖然比較簡陋,在行家眼里可能是小菜一碟,但是也花了筆者一個星期的時間,閱讀了很多資料,啃了好幾天英文help,集成了很多先驅者的經驗,也費了自己不少心血做成的,對每一段代碼的用處、每一個用到的函數
閱讀全文