-@echo off
+::@echo off
::
:: "$Id$"
::
set PLIST="%1 Bonjour Results.plist"
-:: Special case "_failN" name to show bad/missing TXT keys
-if not "%2" == "" {
+:: Special case second argument: "_keys" and "_values" to show bad/missing TXT keys
+if not "%2" == "" (
echo "FAIL"
echo "<key>Errors</key><array>" >>"%PLIST%"
- if not defined IPPFIND_TXT_ADMINURL {
+ if not defined IPPFIND_TXT_ADMINURL (
echo " adminurl is not set."
echo "<string>adminurl is not set.</string>" >>"%PLIST%"
- } else {
- if test "%2" == "_values" {
- if not %IPPFIND_TXT_ADMINURL:~0,7% == "http://" {
- if not %IPPFIND_TXT_ADMINURL:~0,8% == "https://" {
- echo " adminurl has bad value '%IPPFIND_TXT_ADMINURL%'."
- echo "<string>adminurl has bad value '%IPPFIND_TXT_ADMINURL%'.</string>" >>"%PLIST%"
- }
- }
- }
- }
+ ) else (
+ if "%2" == "_values" (
+ set result=FAIL
+ set scheme="%IPPFIND_TXT_ADMINURL:~0,7%"
+ if "%scheme%" == "http://" set result=PASS
+ set scheme="%IPPFIND_TXT_ADMINURL:~0,8%"
+ if "%scheme%" == "https://" set result=PASS
+ if "%result%" == "FAIL" (
+ echo " adminurl has bad value '%IPPFIND_TXT_ADMINURL%'."
+ echo "<string>adminurl has bad value '%IPPFIND_TXT_ADMINURL%'.</string>" >>"%PLIST%"
+ )
+ )
+ )
- if not defined IPPFIND_TXT_PDL {
+ if not defined IPPFIND_TXT_PDL (
echo " pdl is not set."
echo "<string>pdl is not set.</string>" >>"%PLIST%"
- } else {
- if "%2" == "_values" {
- set temp=%IPPFIND_TXT_PDL:image/jpeg=%
- if "%temp%" == "%IPPFIND_TXT_PDL%" {
+ ) else (
+ if "%2" == "_values" (
+ set temp="%IPPFIND_TXT_PDL:image/jpeg=%"
+ if "%temp%" == "%IPPFIND_TXT_PDL%" (
echo " pdl is missing image/jpeg: '%IPPFIND_TXT_PDL%'"
echo "<string>pdl is missing image/jpeg: '%IPPFIND_TXT_PDL%'.</string>" >>"%PLIST%"
- }
+ )
- set temp=%IPPFIND_TXT_PDL:image/pwg-raster=%
- if "%temp%" == "%IPPFIND_TXT_PDL%" {
+ set temp="%IPPFIND_TXT_PDL:image/pwg-raster=%"
+ if "%temp%" == "%IPPFIND_TXT_PDL%" (
echo " pdl is missing image/pwg-raster: '%IPPFIND_TXT_PDL%'"
echo "<string>pdl is missing image/pwg-raster: '%IPPFIND_TXT_PDL%'.</string>" >>"%PLIST%"
- }
- }
- }
+ )
+ )
+ )
- if not defined IPPFIND_TXT_RP {
+ if not defined IPPFIND_TXT_RP (
echo " rp is not set."
echo "<string>rp is not set.</string>" >>"%PLIST%"
- } else {
- if "%2" == "_values" {
- if not "%IPPFIND_TXT_RP%" == "ipp/print" {
- if not "%IPPFIND_TXT_RP:~0,10%" == "ipp/print/" {
+ ) else (
+ if "%2" == "_values" (
+ if not "%IPPFIND_TXT_RP%" == "ipp/print" (
+ if not "%IPPFIND_TXT_RP:~0,10%" == "ipp/print/" (
echo " rp has bad value '%IPPFIND_TXT_RP%'"
echo "<string>rp has bad value '%IPPFIND_TXT_RP%'.</string>" >>"%PLIST%"
- }
- }
- }
- }
+ )
+ )
+ )
+ )
- if not defined IPPFIND_TXT_UUID {
+ if not defined IPPFIND_TXT_UUID (
echo " UUID is not set."
echo "<string>UUID is not set.</string>" >>"%PLIST%"
- } else {
- if "%2" == "_values" {
- :: This isn't as effective as the test in bonjour-tests.sh...
- if "%IPPFIND_TXT_UUID:~0,9%" == "urn:uuid:" {
+ ) else (
+ if "%2" == "_values" (
+ :: This isn't as effective as the test in bonjour-tests.sh but still
+ :: catches the most common error...
+ set scheme="%IPPFIND_TXT_UUID:~0,9%"
+ if "%scheme%" == "urn:uuid:" (
echo " UUID has bad value '%IPPFIND_TXT_UUID%'"
echo "<string>UUID has bad value '%IPPFIND_TXT_UUID%'.</string>" >>"%PLIST%"
- }
- }
- }
+ )
+ )
+ )
- if "%2" == "_values" {
+ if "%2" == "_values" (
ipptool -t -d "ADMINURL=%IPPFIND_TXT_ADMINURL%" -d "UUID=%IPPFIND_TXT_UUID%" %IPPFIND_SERVICE_URI% bonjour-value-tests.test
echo "<string>" >>"%PLIST%"
- $IPPTOOL -t -d "ADMINURL=$IPPFIND_TXT_ADMINURL" -d "UUID=$IPPFIND_TXT_UUID" $IPPFIND_SERVICE_URI bonjour-value-tests.test | findstr /r '[TD]:' >>"%PLIST%"
+ $IPPTOOL -t -d "ADMINURL=$IPPFIND_TXT_ADMINURL" -d "UUID=$IPPFIND_TXT_UUID" $IPPFIND_SERVICE_URI bonjour-value-tests.test | findstr /r "[TD]:" >>"%PLIST%"
echo "</string>" >>"%PLIST%"
- }
+ )
echo "</array>" >>"%PLIST%"
echo "<key>Successful</key><false />" >>"%PLIST%"
echo "</dict>" >>"%PLIST%"
- exit
-}
+ goto :eof
+)
:: Write the standard XML plist header...
-echo '<?xml version="1.0" encoding="UTF-8"?>' >"%PLIST%"
-echo '<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">' >>"%PLIST%"
-echo '<plist version="1.0">' >>"%PLIST%"
-echo '<dict>' >>"%PLIST%"
-echo '<key>Tests</key><array>' >>"%PLIST%"
+echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" >"%PLIST%"
+echo "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">" >>"%PLIST%"
+echo "<plist version=\"1.0\">" >>"%PLIST%"
+echo "<dict>" >>"%PLIST%"
+echo "<key>Tests</key><array>" >>"%PLIST%"
set total=0
set pass=0
call :start_test "B-1. IPP Browse test"
set result=FAIL
ippfind _ipp._tcp,_print.local. --name "%1" --quiet && set result=PASS
-if "%result%" == "PASS" {
- set /a pass=pass+1
+if "%result%" == "PASS" (
+ set /a pass+=1
call :end_test PASS
-} else {
- set /a fail=fail+1
+) else (
+ set /a fail+=1
call :end_test FAIL
-}
+)
:: B-2. IPP TXT keys test: The IPP TXT record contains all required keys.
call :start_test "B-2. IPP TXT keys test"
set result=FAIL
ippfind "%1._ipp._tcp.local." --txt adminurl --txt pdl --txt rp --txt UUID --quiet && set result=PASS
-if "%result%" == "PASS" {
- set /a pass=pass+1
+if "%result%" == "PASS" (
+ set /a pass+=1
call :end_test PASS
-} else {
- set /a fail=fail+1
- ippfind "$1._ipp._tcp.local." -x bonjour-tests.bat '{service_name}' _keys \;
-}
+) else (
+ set /a fail+=1
+ ippfind "%1._ipp._tcp.local." -x bonjour-tests.bat "{service_name}" _keys ";"
+)
:: B-3. IPP Resolve test: Printer responds to an IPP Get-Printer-Attributes request using the resolved hostname, port, and resource path.
call :start_test "B-3. IPP Resolve test"
set result=FAIL
-ippfind "%1._ipp._tcp.local." --ls >/dev/null && set result=PASS
-if "%result%" == "PASS" {
- set /a pass=pass+1
+(ippfind "%1._ipp._tcp.local." --ls && set result=PASS) >nul:
+if "%result%" == "PASS" (
+ set /a pass+=1
call :end_test PASS
-} else {
- set /a fail=fail+1
+) else (
+ set /a fail+=1
echo "<key>Errors</key><array><string>" >>"%PLIST%"
- ippfind "$1._ipp._tcp.local." --ls >>"%PLIST%"
+ ippfind "%1._ipp._tcp.local." --ls >>"%PLIST%"
echo "</string></array>" >>"%PLIST%"
call :end_test FAIL
-}
+)
:: B-4. IPP TXT values test: The IPP TXT record values match the reported IPP attribute values.
call :start_test "B-4. IPP TXT values test"
set result=FAIL
-ippfind "%1._ipp._tcp.local." --txt-adminurl '^(http:|https:)//' --txt-pdl 'image/pwg-raster' --txt-pdl 'image/jpeg' --txt-rp '^ipp/(print|print/[^/]+)$' --txt-UUID '^[0-9a-fA-F]{8,8}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{12,12}$' -x $IPPTOOL -q -d 'ADMINURL={txt_adminurl}' -d 'UUID={txt_uuid}' '{}' bonjour-value-tests.test \; && set result=PASS
-if "%result%" == "PASS" {
- set /a pass=pass+1
+ippfind "%1._ipp._tcp.local." --txt-adminurl "^(http:|https:)//" --txt-pdl image/pwg-raster --txt-pdl image/jpeg --txt-rp "^ipp/(print|print/[^/]+)$" --txt-UUID "^[0-9a-fA-F]{8,8}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{12,12}$" -x $IPPTOOL -q -d "ADMINURL={txt_adminurl}" -d "UUID={txt_uuid}" "{}" bonjour-value-tests.test ";" && set result=PASS
+if "%result%" == "PASS" (
+ set /a pass+=1
call :end_test PASS
-} else {
- set /a fail=fail+1
- ippfind "%1._ipp._tcp.local." -x bonjour-tests.bat '{service_name}' _values \;
-fi
+) else (
+ set /a fail+=1
+ ippfind "%1._ipp._tcp.local." -x bonjour-tests.bat "{service_name}" _values ";"
+)
:: B-5. TLS tests: Performed only if TLS is supported
call :start_test "B-5. TLS tests"
set result=FAIL
-find "$1._ipp._tcp.local." --txt tls --quiet && set result=PASS
-if "%result%" == "PASS" {
- set /a pass=pass+1
+find "%1._ipp._tcp.local." --txt tls --quiet && set result=PASS
+if "%result%" == "PASS" (
+ set /a pass+=1
set HAVE_TLS=1
call :end_test PASS
-} else {
- set /a skip=skip+1
+) else (
+ set /a skip+=1
set HAVE_TLS=0
call :end_test SKIP
-}
+)
:: B-5.1 HTTP Upgrade test: Printer responds to an IPP Get-Printer-Attributes request after doing an HTTP Upgrade to TLS.
call :start_test "B-5.1 HTTP Upgrade test"
-if %HAVE_TLS% == 1 {
+if "%HAVE_TLS%" == "1" (
set result=FAIL
- ippfind "%1._ipp._tcp.local." -x ipptool -E -q '{}' bonjour-access-tests.test \; && set result=PASS
- if "%result%" == "PASS" {
- set /a pass=pass+1
+ ippfind "%1._ipp._tcp.local." -x ipptool -E -q "{}" bonjour-access-tests.test ";" && set result=PASS
+ if "%result%" == "PASS" (
+ set /a pass+=1
call :end_test PASS
- } else {
- set /a fail=fail+1
+ ) else (
+ set /a fail+=1
echo "<key>Errors</key><array><string>" >>"%PLIST"
- ippfind "%1._ipp._tcp.local." -x ipptool -E -q '{}' bonjour-access-tests.test \; >>"%PLIST%"
+ ippfind "%1._ipp._tcp.local." -x ipptool -E -q "{}" bonjour-access-tests.test ";" >>"%PLIST%"
echo "</string></array>" >>"%PLIST%"
call :end_test FAIL
- }
-} else {
- set /a skip=skip+1
+ )
+) else (
+ set /a skip+=1
call :end_test SKIP
-}
+)
:: B-5.2 IPPS Browse test: Printer appears in a search for "_ipps._tcp,_print" services.
-start_test "B-5.2 IPPS Browse test"
-if test $HAVE_TLS = 1; then
- $IPPFIND _ipps._tcp,_print.local. --name "$1" --quiet
- if test $? = 0; then
- pass=`expr $pass + 1`
- end_test PASS
- else
- fail=`expr $fail + 1`
- end_test FAIL
- fi
-else
- skip=`expr $skip + 1`
- end_test SKIP
-fi
+call :start_test "B-5.2 IPPS Browse test"
+if "%HAVE_TLS%" == "1" (
+ set result=FAIL
+ ippfind _ipps._tcp,_print.local. --name "%1" --quiet && set result=PASS
+ if "%result%" == "PASS" (
+ set /a pass+=1
+ call :end_test PASS
+ ) else (
+ set /a fail+=1
+ call :end_test FAIL
+ )
+) else (
+ set /a skip+=1
+ call :end_test SKIP
+)
:: B-5.3 IPPS TXT keys test: The TXT record for IPPS contains all required keys
-start_test "B-5.3 IPPS TXT keys test"
-if test $HAVE_TLS = 1; then
- $IPPFIND "$1._ipps._tcp.local." --txt adminurl --txt pdl --txt rp --txt TLS --txt UUID --quiet
- if test $? = 0; then
- pass=`expr $pass + 1`
- end_test PASS
- else
- fail=`expr $fail + 1`
- $IPPFIND "$1._ipps._tcp.local." -x ./bonjour-tests.sh '{service_name}' _fail5.3 \;
- fi
-else
- skip=`expr $skip + 1`
- end_test SKIP
-fi
+call :start_test "B-5.3 IPPS TXT keys test"
+if "%HAVE_TLS%" == "1" (
+ set result=FAIL
+ ippfind "%1._ipps._tcp.local." --txt adminurl --txt pdl --txt rp --txt TLS --txt UUID --quiet && set result=PASS
+ if "%result%" == "PASS" (
+ set /a pass+=1
+ call :end_test PASS
+ ) else (
+ set /a fail+=1
+ ippfind "%1._ipps._tcp.local." -x bonjour-tests.bat "{service_name}" _keys ";"
+ )
+) else (
+ set /a skip+=1
+ call :end_test SKIP
+)
:: B-5.4 IPPS Resolve test: Printer responds to an IPPS Get-Printer-Attributes request using the resolved hostname, port, and resource path.
-start_test "B-5.4 IPPS Resolve test"
-if test $HAVE_TLS = 1; then
- $IPPFIND "$1._ipps._tcp.local." --ls >/dev/null
- if test $? = 0; then
- pass=`expr $pass + 1`
- end_test PASS
- else
- fail=`expr $fail + 1`
- echo "<key>Errors</key><array>" >>"%PLIST%"
- $IPPFIND "$1._ipps._tcp.local." --ls | awk '{ print "<string>" $0 "</string>" }' >>"%PLIST%"
- echo "</array>" >>"%PLIST%"
- end_test FAIL
- fi
-else
- skip=`expr $skip + 1`
- end_test SKIP
-fi
+call :start_test "B-5.4 IPPS Resolve test"
+if "%HAVE_TLS%" == "1" (
+ set result=FAIL
+ (ippfind "%1._ipps._tcp.local." --ls && set result=PASS) >nul:
+ if "%result%" == "PASS" (
+ set /a pass+=1
+ call :end_test PASS
+ ) else (
+ set /a fail+=1
+ echo "<key>Errors</key><array><string>" >>"%PLIST%"
+ ippfind "%1._ipps._tcp.local." --ls >>"%PLIST%"
+ echo "</string></array>" >>"%PLIST%"
+ call :end_test FAIL
+ )
+) else (
+ set /a skip+=1
+ call :end_test SKIP
+)
:: B-5.5 IPPS TXT values test: The TXT record values for IPPS match the reported IPPS attribute values.
-start_test "B-5.5 IPPS TXT values test"
-if test $HAVE_TLS = 1; then
- $IPPFIND "$1._ipps._tcp.local." --txt-adminurl '^(http:|https:)//' --txt-pdl 'image/pwg-raster' --txt-pdl 'image/jpeg' --txt-rp '^ipp/(print|print/[^/]+)$' --txt-UUID '^[0-9a-fA-F]{8,8}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{12,12}$' -x $IPPTOOL -q -d 'ADMINURL={txt_adminurl}' -d 'UUID={txt_uuid}' '{}' bonjour-value-tests.test \;
- if test $? = 0; then
- pass=`expr $pass + 1`
- end_test PASS
- else
- fail=`expr $fail + 1`
- $IPPFIND "$1._ipps._tcp.local." -x ./bonjour-tests.sh '{service_name}' _fail5.5 \;
- fi
-else
- skip=`expr $skip + 1`
- end_test SKIP
-fi
+call :start_test "B-5.5 IPPS TXT values test"
+if "%HAVE_TLS%" == "1" (
+ set result=FAIL
+ ippfind "%1._ipps._tcp.local." --txt-adminurl "^(http:|https:)//" --txt-pdl image/pwg-raster --txt-pdl image/jpeg --txt-rp "^ipp/(print|print/[^/]+)$" --txt-UUID "^[0-9a-fA-F]{8,8}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{12,12}$" -x ipptool -q -d "ADMINURL={txt_adminurl}" -d "UUID={txt_uuid}" "{}" bonjour-value-tests.test ";" && set result=PASS
+ if "%result%" == "PASS" (
+ set /a pass+=1
+ call :end_test PASS
+ ) else (
+ set /a fail+=1
+ ippfind "%1._ipps._tcp.local." -x bonjour-tests.bat "{service_name}" _values ";"
+ )
+) else (
+ set /a skip+=1
+ call :end_test SKIP
+)
:: Finish up...
-if test $fail -gt 0; then
- cat >>"%PLIST%" <<EOF
-</array>
-<key>Successful</key>
-<false />
-EOF
-else
- cat >>"%PLIST%" <<EOF
-</array>
-<key>Successful</key>
-<true />
-EOF
-fi
-
-cat >>"%PLIST%" <<EOF
-</dict>
-</plist>
-EOF
+echo "</array>" >>"%PLIST%"
+echo "<key>Successful</key>" >>"%PLIST%"
+if %fail% gtr 0 (
+ echo "<false />" >>"%PLIST%"
+) else (
+ echo "<true />" >>"%PLIST%"
+)
+echo "</dict>" >>"%PLIST%"
+echo "</plist>" >>"%PLIST%"
-score=`expr $pass + $skip`
-score=`expr 100 \* $score / $total`
-echo "Summary: $total tests, $pass passed, $fail failed, $skip skipped"
-echo "Score: ${score}%"
+set /a score=%pass% + %skip%
+set /a score=100 * %score% / %total%
+echo "Summary: %total% tests, %pass% passed, %fail% failed, %skip% skipped"
+echo "Score: %score%^%"
exit
:: call :start_test "name"
:start_test
+ set /a total+=1
setlocal
- set /a total=total+1
- set <NUL /p="%1: "
- echo "<dict><key>Name</key><string>$1</string>" >>"%PLIST%"
+ set name=%1
+ set name=%name:~1,-1%
+ set <NUL /p="%name%: "
+ echo "<dict><key>Name</key><string>%name%</string>" >>"%PLIST%"
echo "<key>FileId</key><string>org.pwg.ipp-everywhere.20140826.bonjour</string>" >>"%PLIST%"
endlocal
goto :eof
:end_test
setlocal
echo %1
- if "%1" == "FAIL" {
+ if "%1" == "FAIL" (
echo "<key>Successful</key><false />" >>"%PLIST%"
- } else {
- if "%1" == "SKIP" {
+ ) else (
+ if "%1" == "SKIP" (
echo "<key>Successful</key><true />" >>"%PLIST%"
echo "<key>Skipped</key><true />" >>"%PLIST%"
- } else {
+ ) else (
echo "<key>Successful</key><true />" >>"%PLIST%"
- }
- }
+ )
+ )
echo "</dict>" >>"%PLIST%"
endlocal
goto :eof
"Entry"\r
{\r
"MsmKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
+ "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+ "MsmSig" = "8:_UNDEFINED"\r
+ }\r
+ "Entry"\r
+ {\r
+ "MsmKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
"OwnerKey" = "8:_58DC0E72F0944BEFB927AED718CD1660"\r
"MsmSig" = "8:_UNDEFINED"\r
}\r
"Entry"\r
{\r
"MsmKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
- "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+ "OwnerKey" = "8:_466C1CF41795452A8B76425F8D05D8B8"\r
"MsmSig" = "8:_UNDEFINED"\r
}\r
"Entry"\r
"DisplayName" = "8:Debug"\r
"IsDebugOnly" = "11:TRUE"\r
"IsReleaseOnly" = "11:FALSE"\r
- "OutputFilename" = "8:ipptool-windows.msi"\r
+ "OutputFilename" = "8:sw-ippeveselfcert10-windows.msi"\r
"PackageFilesAs" = "3:2"\r
"PackageFileSize" = "3:-2147483648"\r
"CabType" = "3:1"\r
{\r
"{9EF0B969-E518-4E46-987F-47570745A589}:_E379D4EDBAD0460BB876711E9062ADB4"\r
{\r
- "Name" = "8:ipptool"\r
+ "Name" = "8:IPP Everywhere Printer Self-Certification Tools"\r
"AlwaysCreate" = "11:FALSE"\r
"Condition" = "8:"\r
"Transitive" = "11:FALSE"\r
}\r
"{3C67513D-01DD-4637-8A68-80971EB9504F}:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
{\r
- "DefaultLocation" = "8:[ProgramFilesFolder]\\ipptool"\r
+ "DefaultLocation" = "8:[ProgramFilesFolder]\\sw-ippeveselfcert10"\r
"Name" = "8:#1925"\r
"AlwaysCreate" = "11:FALSE"\r
"Condition" = "8:"\r
"Name" = "8:Microsoft Visual Studio"\r
"ProductName" = "8:IPP Everywhere Printer Self-Certification Tools"\r
"ProductCode" = "8:{C08E3AC5-4FBF-40DD-BD19-9BE69A609DAF}"\r
- "PackageCode" = "8:{B4B703D8-1B4E-44B5-AA85-F722F272BEA9}"\r
+ "PackageCode" = "8:{25FF31C9-52A0-4838-8F1D-02FB5D5296F4}"\r
"UpgradeCode" = "8:{BAB6EBBB-515D-4155-9FEF-D98DA76814CA}"\r
"RestartWWWService" = "11:FALSE"\r
"RemovePreviousVersions" = "11:TRUE"\r
}\r
"Shortcut"\r
{\r
+ "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_57BCED85BA5944009F56A11D5A9FBBEE"\r
+ {\r
+ "Name" = "8:ippfind Documentation"\r
+ "Arguments" = "8:"\r
+ "Description" = "8:"\r
+ "ShowCmd" = "3:1"\r
+ "IconIndex" = "3:0"\r
+ "Transitive" = "11:FALSE"\r
+ "Target" = "8:_592FC984DBFD494D9FB7DFFEA35AD7A5"\r
+ "Folder" = "8:_E379D4EDBAD0460BB876711E9062ADB4"\r
+ "WorkingFolder" = "8:_26743E387598422398CF503F7478F9E1"\r
+ "Icon" = "8:"\r
+ "Feature" = "8:"\r
+ }\r
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_63715171338D40FFBC5B47A1418B4814"\r
{\r
"Name" = "8:README"\r
"ShowCmd" = "3:1"\r
"IconIndex" = "3:0"\r
"Transitive" = "11:FALSE"\r
- "Target" = "8:"\r
+ "Target" = "8:_27AB74FFFBC7436B9EBC6AE23968CFCC"\r
"Folder" = "8:_E379D4EDBAD0460BB876711E9062ADB4"\r
"WorkingFolder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
"Icon" = "8:"\r
"Icon" = "8:"\r
"Feature" = "8:"\r
}\r
+ "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_962004B0D5CA479A91EFA7F7BF7814C8"\r
+ {\r
+ "Name" = "8:ippserver Documentation"\r
+ "Arguments" = "8:"\r
+ "Description" = "8:"\r
+ "ShowCmd" = "3:1"\r
+ "IconIndex" = "3:0"\r
+ "Transitive" = "11:FALSE"\r
+ "Target" = "8:_1BCBABF5693841AE92515645BB7765F4"\r
+ "Folder" = "8:_E379D4EDBAD0460BB876711E9062ADB4"\r
+ "WorkingFolder" = "8:_26743E387598422398CF503F7478F9E1"\r
+ "Icon" = "8:"\r
+ "Feature" = "8:"\r
+ }\r
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_BD2A7DF74D844FF5919EE8340EE36ECD"\r
{\r
"Name" = "8:Test File Documentation"\r