我将接受的答案和 Locksmith 的答案结合起来,没有看到任何命令提示符或命令提示符本身的闪烁。这样做的一个优点是您不必创建快捷方式并为其设置参数以使其正常工作。
我的 createUninstaller.js 文件:
var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
var parameters = Session.Property("CustomActionData").split("|");
var targetDir = parameters[0];
var productCode = parameters[1];
ts = fso.OpenTextFile(targetDir + "Uninstall.js", ForWriting, true);
ts.WriteLine("var v = new ActiveXObject(\"Shell.Application\");");
ts.WriteLine("v.ShellExecute(\"msiexec.exe\", \"/x "+productCode+"\", \"\", \"open\",10);");
ts.Close();
此文件作为自定义操作添加到提交操作“目录”中。为了实际获得此自定义操作:右键单击您的设置项目>查看>自定义操作>右键单击提交“目录”>添加自定义操作。在您必须搜索您创建的 createUninstaller.js 文件并添加它之后。
现在要让 createUninstaller.js 读取变量 targetDir 和 productCode,您必须
右键单击设置项目自定义操作“提交”目录中的 createUninstaller.js 文件并转到属性窗口。在属性中,您将看到“CustomActionData”属性。在那里你只需复制粘贴 [TARGETDIR]|[ProductCode]
瞧!它现在应该添加 Uninstall.js 文件,只要你双击它就可以工作。