我是在一個安裝項目尋找替代的卸載(在閱讀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