本人親測-Setup Factory打包教程(整理並優化)


Setup Factory 9 總結
一:安裝完畢立刻啟動
result = Shell.Execute(SessionVar.Expand("%AppFolder%\\消息助手.exe"), "open", "", "", SW_SHOWNORMAL, false);
 
二:設置開機自啟
[Winform]setupfactory打包時添加開機自啟動的腳本
摘要
如果有這樣的需求,需要軟件開機自啟動,該如何做呢?開機自啟動的做法,就是修改注冊表,將你的exe注冊到注冊表Run節點下。
setupfactory
在安裝的時候需要以管理員身份運行,這樣可以保證你的操作有足夠的權限。
在程序安裝完成時,添加下面的腳本
腳本如下:
--檢測是否有開機自啟的注冊表
isExist = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
-- An if ... else statement that compares two numbers
if (isExist) then
-- Do something here
Registry.SetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "Message",
SessionVar.Expand("%AppFolder%\\消息助手.exe"), REG_SZ);
else
    -- Do something else here
Registry.CreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
Registry.SetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "Message",
SessionVar.Expand("%AppFolder%\\消息助手.exe"), REG_SZ);
end
查看注冊表
注意如果你的系統是x64的則再下面的key下能找到,你添加的注冊項
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
三:打包時實現第三方DLL文件的注冊
Shell.Execute("regsvr32","open",SessionVar.Expand("/s\"%ProgramFilesFolder%\\%ProductName%\\kpsignx.dll\""));
--打開指定的文件
File.Run(SessionVar.Expand("%TempLaunchFolder%\\kpsignx.bat"), "", "", SW_SHOWNORMAL, true);
四:安裝之前檢測net環境
--WIN7不需要,XP需要
result=Registry.DoesKeyExist(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\.NETFramework\\policy\\v3.0");
if (result == false) then
result=File.Run(SessionVar.Expand("%TempLaunchFolder%\\mnf30.exe"), "", "", SW_SHOWNORMAL, true);
end
注:Resources下面的net32位去掉就可以出現直接安裝不用在線下載了就。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM