我是在一个安装项目寻找替代的卸载(在阅读this),并尝试以下,这黯然失败:变量在快捷参数忽略Visual Studio安装项目
我做了一个设定项目在C#中的虚拟应用程序。我说从它的构建输出以及与此内部的Uninstall.bat文件:
echo %1
msiexec /x %1
我然后在快捷方式的参数字段添加的快捷方式文件,[Product Code]
:
我理由是Uninstall.bat将以产品代码(已解析)作为参数进行调用。
设置完成后,没有骰子,参数不会从快捷方式传递给安装程序。命令窗口的输出为:
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
的第五实施例表明,变量是不知何故,如果常数碰撞到位置1.
为了更好地知道发生了什么,想法设法:(1)在参数字段中,恒定的参数,常量参数和变量,变量以外[产品代码]。 (2)查看其余的快捷参数,Target等。 – 2011-03-23 07:44:54
也许你有一些缺少的引号。包含空格的路径需要用引号括起来。 – 2011-03-23 11:18:08
@CosminPrivu这里没有路径。 [产品代码]产生一个没有空格的字符串。 – MPelletier 2011-03-23 11:31:03