我在阅读这篇文章时(链接),想要寻找一种卸载安装程序的替代方法,并尝试了以下方法,但遗憾地失败了:
我创建了一个C#虚拟应用程序的安装项目。我添加了它的构建输出和一个包含以下内容的Uninstall.bat文件:
echo %1
msiexec /x %1
我随后在快捷方式的参数字段中添加了一个带有
[Product Code]
的文件快捷方式:
设置完成后,没有任何效果,参数未从快捷方式传递给安装程序。命令窗口的输出如下:
ECHO is on. msiexec /x
%1
参数似乎不存在。在二进制编辑器中查看LNK文件时,产品代码似乎存在。这里发生了什么?
尝试各种参数和简单的回显:
[Product Code]
-> 忽略{%hardcodedProductCode%}
-> 作为%1
传递给批处理[Product Name]
-> 忽略Constant [Product Code]
-> 只有常量作为%1
传递给批处理[Product Name] Constant [Product Code]
-> 只有常量作为%1
而不是%2
传递给批处理[Product Name] Constant [Product Code] [UndeclaredVariable123]
-> 只有常量作为%1
传递给批处理$[Product Code]
-> 只有$
作为%1
传递给批处理