Installshield打包
Posted dozeoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Installshield打包相关的知识,希望对你有一定的参考价值。
Installshield打包注意事项:
问题:当32位的AP调用WINSYSDIR变量时,会默认指向syswow64,就算是调用WINDIR^"system32",也会被强迫指向syswow64。
解决:Disable(WOW64FSREDIRECTION)
WOW64FSREDIRECTION:起着判断64位系统下调用哪个系统变量的作用,Disable掉后,就会默认指向system32。
注意:当安装进行完后,记得Enable(WOW64FSREDIRECTION),以避免影响系统的其他程序。
经验:
在Installing()事件中Disable(WOW64FSREDIRECTION);
在Installed()事件中Enable(WOW64FSREDIRECTION);
这样整个安装过程就不用去考虑何时开关了。
同样,卸载的过程中也得在UnInstalling()和UnInstalled()中这样做,才会卸载掉对应的部分。
https://hds.networld.co.jp/helpdesk/support/FaqFacadeServlet?TaskType=Detail&seriesId=InstallShieldFAQ&id=00001575&categoryId=0061&faqInfo=1&JspUrl=/support/FrequentlyDetail.jsp#question
export prototype Feature64files_Installing(); function Feature64files_Installing() begin // ファイルリダイレクトを無効にした状態で自動登録をする必要があるので、 // バッチメソッドによる自動登録は無効にしておきます。 Disable ( SELFREGISTERBATCH ); // ファイルが 64-bit システムフォルダに正しく転送されるようにファイルリダイレクトを無効にします。 Disable ( WOW64FSREDIRECTION ); // 32-bit プロセス(InstallScript エンジン)からレジストリの 64-bit 部分に書き込めるように //レジストリリダイレクトを無効にします。 REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY; /* ここに RegDBSetKeyValueEx 関数などを使用して、レジストリの書き込み処理などを追加します */ end; export prototype Feature64files_Installed(); function Feature64files_Installed() begin // バッチメソッドを有効にします。 Enable ( SELFREGISTERBATCH ); // ファイルリダイレクトを有効にします。 Enable ( WOW64FSREDIRECTION ); // レジストリリダイレクトを有効にします。 REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY; end; export prototype Feature64files_UnInstalling(); function Feature64files_UnInstalling() begin Disable ( SELFREGISTERBATCH ); Disable ( WOW64FSREDIRECTION ); REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY; end; export prototype Feature64files_UnInstalled(); function Feature64files_UnInstalled() begin Enable ( SELFREGISTERBATCH ); Enable ( WOW64FSREDIRECTION ); REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY; end;
以上是关于Installshield打包的主要内容,如果未能解决你的问题,请参考以下文章
在vs2012中使用installShield2015打包程序
C/S打包 客户端/windows程序 InstallShield