title: What does %1|%2 mean in a shell open command?
body: <p>For example, Clickonce application reference (<code>.appref-ms</code>) files have this registry entry:</p>
  
  <pre><code>[HKEY_CLASSES_ROOT\Application.Reference\shell\open\command]
  @="rundll32.exe dfshim.dll,ShOpenVerbShortcut %1|%2"
  </code></pre>
  
  <p>This presents two challenges: </p>
  
  <ol>
  <li>What is the value of the second replacement (there's only one file)</li>
  <li>Use of the pipe character makes it difficult to test things in the command prompt. </li>
  </ol>
  
  <p>I've searched the rest of the classes hive and this appears to be the only usage of such a construct on my system.</p>
  
  <p>These don't work (from the command prompt), with or without quotes:</p>
  
  <ul>
  <li><code>rundll32.exe dfshim.dll,ShOpenVerbShortcut FileNameInCurrentDir.appref-ms</code></li>
  <li><code>rundll32.exe dfshim.dll,ShOpenVerbShortcut C:\Path\To\File.appref-ms</code></li>
  <li><code>rundll32.exe dfshim.dll,ShOpenVerbShortcut file://c:/Path/To/File.appref-ms</code></li>
  <li><code>rundll32.exe dfshim.dll,ShOpenVerbShortcut "file:///c:/Path/To/File.appref-ms"</code></li>
  </ul>
  
  <p>Resulting in various errors:</p>
  
  <ul>
  <li><code>Invalid URI: The format of the URI could not be determined.</code></li>
  <li><code>Invalid URI: The URI scheme is not valid.</code></li>
  <li><code>Exception reading manifest from file:///c:/Path/To/File.appref-ms: the manifest may not be valid or the file could not be opened.</code></li>
  </ul>