我搜索了这个主题并找到了很多帖子,但没有一个可以描述我遇到的确切问题。我们的产品(我从另一个开发人员那里继承的)有一个 InstallScript 方法(见下文),虽然它似乎工作了很长一段时间,但似乎没有从任何地方调用,所以我添加了一个自定义操作来调用它并放置它在用户界面和执行序列中的 ISSetupFilesExtract 步骤之后,当我运行它时,它要么不起作用,要么给我一个错误。所以这是脚本:
export prototype MainApplication_Installing();
function MainApplication_Installing()
begin
Disable(CANCELBUTTON);
SetStatusWindow(-1,"Uninstalling previous versions...");
//Uninstall 3.0.5
LaunchApp("MsiExec.exe","/X{ABA98465-AE8B-49BB-A445-46744EF236C0} /qn");
//Uninstall 3.1.1
LaunchApp("MsiExec.exe","/X{954ADD40-DFEF-40DD-896A-FF29E5E43FB8} /qn");
其中 /X 是每个先前版本的产品代码,但是就像我说的那样,这不起作用,因此在尝试调试脚本失败后,我尝试了一条不同的路线,创建了主要升级,其中我指定了每个先前版本的升级代码版本如下:为升级方案准备安装程序->升级 Windows Installer 安装程序->删除 3.05 - 3.1.1,但这也不起作用。当我现在安装产品时,它会与旧版本并行安装(我在控制面板->卸载或更改程序中都看到了。
那么我应该以哪种方式去做,为什么这些都不起作用?
提前致谢!