论坛首页
论坛首页 开发者论坛 PortableApps开发 如何让Launcher 会修改hosts文件(退出后恢复)?

如何让Launcher 会修改hosts文件(退出后恢复)?

讨论关于便携软件开发的技术与问题,包括PAL、NSIS、VMware ThinApp及其他。
a000001 两把菜刀
两把菜刀

帖子: 22
近日发现potplayer越来越流氓了

禁止potplay自动更新后,还是会提醒自动更新

相关网址:http://tieba.baidu.com/p/4041913917

网上也有教程使用hosts文件屏蔽potplayer的自动更新

相关网址:http://tieba.baidu.com/p/4042587704


然而就portable app而言,如何让Launcher 会修改hosts文件(退出后恢复)? :?:


以potplayer举例:点击PotPlayerPortable.exe,此时先运行修改hosts文件

于hosts之中增加以下4行:

127.0.0.1 tiara.daum.net
127.0.0.1 start.tiara.daum.net
127.0.0.1 get.daum.net
127.0.0.1 potplayer.daum.net

之后PotPlayer用完关闭时,

PotPlayerPortable.exe会自动到hosts文件内将以上4行删除

还原hosts文件


如此Launcher之中的PotPlayerPortable.ini,应该如何编写?


求J大和各位高人了!!


ps.另外请问有谁知道perkedleapps (Azure)的最新网站吗? :|
最后由 a000001 编辑于 2015-09-19 1:12,总共编辑了 1 次

jooseng 革命同志
革命同志

帖子: 3500
a000001 写道:
近日发现potplayer越来越流氓了

禁止potplay自动更新后,还是会提醒自动更新

相关网址:http://tieba.baidu.com/p/4041913917

网上也有教程使用hosts文件屏蔽potplayer的自动更新

相关网址:http://tieba.baidu.com/p/4042587704


然而就portable app而言,如何让Launcher 会修改hosts文件(退出后恢复)? :?:


以potplay举例:点击PotPlayerPortable.exe,此时先运行修改hosts文件

于hosts之中增加以下4行:

127.0.0.1 tiara.daum.net
127.0.0.1 start.tiara.daum.net
127.0.0.1 get.daum.net
127.0.0.1 potplayer.daum.net

之后PotPlayer用完关闭时,

PotPlayerPortable.exe会自动到hosts文件内将以上4行删除

还原hosts文件


如此Launcher之中的PotPlayerPortable.ini,应该如何编写?


求J大和各位高人了!!


ps.另外请问有谁知道perkedleapps (Azure)的最新网站吗? :|

必须使用Custom code。以下是Custom.nsh代码:

=========================================
${SegmentPrePrimary}
CopyFiles /Silent "$SYSDIR\drivers\etc\hosts" "$SYSDIR\drivers\etc\hosts.BackupBy$AppID" ;畚份原hosts文件。
SetFileAttributes "$SYSDIR\drivers\etc\hosts" NORMAL ;解除只读属性。
nsExec::Exec `"$SYSDIR\cmd.exe" /c @echo: >> "$SYSDIR\drivers\etc\hosts"`
nsExec::Exec `"$SYSDIR\cmd.exe" /c echo 127.0.0.1 tiara.daum.net >> "$SYSDIR\drivers\etc\hosts"` ;加入要屏蔽的网址。
nsExec::Exec `"$SYSDIR\cmd.exe" /c echo 127.0.0.1 start.tiara.daum.net >> "$SYSDIR\drivers\etc\hosts"`
nsExec::Exec `"$SYSDIR\cmd.exe" /c echo 127.0.0.1 get.daum.net >> "$SYSDIR\drivers\etc\hosts"`
nsExec::Exec `"$SYSDIR\cmd.exe" /c echo 127.0.0.1 potplayer.daum.net >> "$SYSDIR\drivers\etc\hosts"`
SetFileAttributes `$SYSDIR\drivers\etc\hosts` READONLY ;设置文件属性为只读。
!macroend

${SegmentPostPrimary}
${If} ${FileExists} "$SYSDIR\drivers\etc\hosts.BackupBy$AppID"
Delete "$SYSDIR\drivers\etc\hosts" ;删除被修改过的hosts文件。
Rename "$SYSDIR\drivers\etc\hosts.BackupBy$AppID" "$SYSDIR\drivers\etc\hosts" ;恢复原hosts文件。
${EndIf}
!macroend
=========================================
必须以管理员身份运行。


Azure的新网站:
http://perkedelicious.blogspot.com
不过没有内容。

jooseng 革命同志
革命同志

帖子: 3500
据说不是流氓行为,是bug。
已经修复了。手动更新到最新正式版就好了。

http://daumpotplayer.haotui.com/viewthr ... key=kvpxe2

a000001 两把菜刀
两把菜刀

帖子: 22
jooseng 写道:
据说不是流氓行为,是bug。
已经修复了。手动更新到最新正式版就好了。

http://daumpotplayer.haotui.com/viewthr ... key=kvpxe2


如果 同时 运行2个都会修改hosts文件的 portableapp软件

似乎会造成冲突?



ps.1.potplayer旧版本还是在一直提示更新~~ :x ,8月之前根本不会如此
如今等同用旧版就会被干扰~~ :evil:
2.Azure的新网站:不过没有内容。 :o ~~~Azure大的软件挺优的说

jooseng 革命同志
革命同志

帖子: 3500
a000001 写道:
如果 同时 运行2个都会修改hosts文件的 portableapp软件

似乎会造成冲突?

便携软件运用基本法之一就是不要同时运行两个或以上。
如果一定要就必须后进先出(Last In First Out),也就是最后运行的那一个最先退出。
如果自己会制作,可将几个会同时运行的软件做成套件。


回到 PortableApps开发